检查类构造函数是否扩展了另一个类
问题描述:
如何检查类构造函数是否扩展了另一个类而不构建对象? IE由构造函数引用。检查类构造函数是否扩展了另一个类
例
class A {
}
class B extends A {
}
var b = B;
if(typeof b === B)
答
您可以用instanceof
如下帮助检查。
class A {
}
class B extends A {
}
class C {
}
console.log(B.prototype instanceof A);
console.log(C.prototype instanceof A);
// With instance
var b = new B();
console.log(b instanceof B);
console.log(b instanceof A);
console.log(b instanceof C);
+0
我会添加这个到我的问题 - 但我需要知道没有对象正在构建, – user2410532
+0
@ user2410532我已更新此代码,请看看 – Aruna
+0
@ jfriend00执行该代码段并检查答案,请 – Aruna
执行完'B = B',那么它将永远是'的typeof b === typeof运算B'因为'B'和'B'具有相同的值,因此,相同的'typeof'。另外,'typeof'的任何构造函数都是函数。 – jfriend00
看起来像这样的重复? – loganfsmyth
正确。答案是'A.prototype instanceof B' – user2410532