2016-11-12 117 views
0

如何检查类构造函数是否扩展了另一个类而不构建对象? IE由构造函数引用。检查类构造函数是否扩展了另一个类

class A { 

} 

class B extends A { 

} 

var b = B; 

if(typeof b === B) 
+0

执行完'B = B',那么它将永远是'的typeof b === typeof运算B'因为'B'和'B'具有相同的值,因此,相同的'typeof'。另外,'typeof'的任何构造函数都是函数。 – jfriend00

+1

看起来像这样的重复? – loganfsmyth

+0

正确。答案是'A.prototype instanceof B' – user2410532

回答

0

您可以用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

相关问题