猿问

如何在运行时检查类B是否扩展了A

在TypeScript / Javscript中,如何检查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惯用方式是什么,或者不确定是否缺少任何边缘情况但适用于我的用例


至尊宝的传说
浏览 125回答 1
1回答

墨色风雨

您可以使用instanceof来检查构造函数原型是否为的实例A:export class A {}export class B extends A {}console.log(B.prototype instanceof A);输出true给我。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答