2017-11-18 86 views
0

连续的基类,我想走到超类型链一路对象,所以给出:如何获得在打字稿

abstract class Foo {} 

abstract class Bar extends Foo {} 

abstract class Baz extends Bar {} 

class Yolo extends Baz {} 

let yolo = new Baz() 

如何我可以得到所有的扩展类巴兹,酒吧, Foo和具有yolo实例的对象?

我看到了How to get the parent class at runtime,我不明白这对我有什么帮助,我只能上一级。

回答

1

您可以使用getPrototypeOf先后走了超级链:

var ctor = yolo.constructor; 
while(ctor !== null){ 
    console.log(ctor); 
    ctor = Object.getPrototypeOf(ctor);  
} 

将输出:

function Yolo() { … } 
function Baz() { … } 
function Bar() { … } 
function Foo() { … } 
function() { … } 
Object { … }