如何檢查類構造函數是否擴展了另一個類而不構建對象? IE由構造函數引用。檢查類構造函數是否擴展了另一個類
例
class A {
}
class B extends A {
}
var b = B;
if(typeof b === B)
如何檢查類構造函數是否擴展了另一個類而不構建對象? 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);
我會添加這個到我的問題 - 但我需要知道沒有對象正在構建, – user2410532
@ user2410532我已更新此代碼,請看看 – Aruna
@ jfriend00執行該代碼段並檢查答案,請 – Aruna
執行完'B = B',那麼它將永遠是'的typeof b === typeof運算B'因爲'B'和'B'具有相同的值,因此,相同的'typeof'。另外,'typeof'的任何構造函數都是函數。 – jfriend00
看起來像這樣的重複? – loganfsmyth
正確。答案是'A.prototype instanceof B' – user2410532