gpt4 book ai didi

javascript - TypeScript/JavaScript - 如何获取类的父类(super class)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:56:22 25 4
gpt4 key购买 nike

假设我有:

class Foo {}
class Bar extends Foo {}
var clazz = Bar;

我发现要得到 Barclazz.prototype.constructor

如何找出 Bar 的父类是什么?

最佳答案

正如@MattiasBuelens 对答案的评论,它应该是:obj.constructor 而不是 obj.prototype.constructor 作为 obj.prototype 为 null(prototype 属性存在于类 Bar 中,但不存在于实例中)。

至于获取 Foo 的构造函数,这是一个丑陋的 hack:

let FooCtor = Object.getPrototypeOf(Object.getPrototypeOf(obj)).constructor;
var foo = new FooCtor();

编辑

如果你想做同样的事情但使用 Bar 类而不是它的实例,那么:

let FooCtor = Object.getPrototypeOf(Bar.prototype).constructor;
var foo = new FooCtor();

关于javascript - TypeScript/JavaScript - 如何获取类的父类(super class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com