Ond*_*žka 4 javascript reflection introspection superclass typescript
假设我有:
class Foo {}
class Bar extends Foo {}
var clazz = Bar;
Run Code Online (Sandbox Code Playgroud)
我发现要到达Bar那里clazz.prototype.constructor。
我如何找出 的父类是什么Bar?
正如 @MattiasBuelens 对答案的评论,它应该是:obj.constructor而不是obj.prototype.constructornull obj.prototype(该prototype属性存在于类中Bar,但不存在于实例中)。
至于获取 的构造函数Foo,这是一个丑陋的黑客:
let FooCtor = Object.getPrototypeOf(Object.getPrototypeOf(obj)).constructor;
var foo = new FooCtor();
Run Code Online (Sandbox Code Playgroud)
如果您想做同样的事情,但使用Bar类而不是它的实例,那么:
let FooCtor = Object.getPrototypeOf(Bar.prototype).constructor;
var foo = new FooCtor();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5345 次 |
| 最近记录: |