在TypeScript / Javascript中,如何检查B类是否扩展了A类
class A {
...
}
class B extends A {
...
}
assert(B extends A) // How to do something like this?
回答:
有几种方法可以做到这一点。感谢@Daniel和@AviatorX
B.prototype instanceof A // true
Object.getPrototypeOf(B) === A // true
Reflect.getPrototypeOf(B) === A // true
不确定最常用的TypeScript惯用方法是什么,或者是否有任何丢失的边缘情况但是适用于我的用例
您可以使用instanceof
检查构造函数原型是否是A
的实例:
export class A {
}
export class B extends A {
}
console.log(B.prototype instanceof A);
为我输出true
。