クラスコンストラクタがオブジェクトを構築せずに別のクラスを拡張するかどうかを確認するにはどうすればよいですか? 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'を行うと 'B'と 'B'が同じ値を持っているので、それは常にこのように、' typeof演算のB === typeofをB'となります同じ 'typeof'。また、任意のコンストラクタの 'typeof'は常にfunctionです。 – jfriend00
これは重複しているようですね。 – loganfsmyth
正しい。答えは '' A.prototype instanceof B' – user2410532