2014-03-24 2 views
1

생성 된 Javascript에서 프로토 타입 체인을 트래버스하는 방법을 파악한 후 아래 예제에서 함수 WriteInheritedName()을 구현하지 못했습니다. 아이디어는 기본 유형을 찾고 그 이름을 쓰는 것입니다. 어떤 아이디어?Typescript에서 기본 유형을 액세스하려면 어떻게해야합니까?

class Animal { 
} 

class Snake extends Animal { 
} 

function WriteClassName(cls) { 
    console.log(cls.name); 
} 

function WriteInheritedName(cls) { 
    console.log("I wish I new how to write Animal"); 
} 

WriteClassName(Snake); 
WriteInheritedName(Snake); 
+0

실제로 원하는대로 구현할 방법이 없습니다. 생성자 또는 메소드에서 수퍼 클래스에 액세스하려면 'super'를 사용하십시오. [단순한 상속] 예제는 [놀이터] (http://www.typescriptlang.org/Playground/)의 드롭 다운 메뉴에서 찾을 수 있습니다. –

+0

질문은'''global.A'''에 의해 참조되는 객체 (함수) 만 주어진 일반적인 반사 메커니즘을 구현하는 방법입니다. 나는. '''WriteInheritedName''' 함수를 구현하는 법. 가정은''getPrototypeOf()''',''__proto__''' 또는''prototype''' 속성을 사용하여 런타임에 임의의 객체의 상속 체인을 결정하는 것입니다. –

답변

2

나 자신을 발견해 냈습니다.

function WriteInheritedName(cls) { 
    console.log(Object.getPrototypeOf(cls.prototype).constructor.name); 
} 
관련 문제