メソッドを確認したところinstanceof
、結果は同じではありません。
function A(){}
function B(){};
prototype
最初に(参照) プロパティを割り当てましたA
A.prototype = B.prototype;
var carA = new A();
console.log( B.prototype.constructor );
console.log( A.prototype.constructor == B );
console.log( B.prototype.constructor == B );
console.log( carA instanceof A );
console.log( carA instanceof B );
上記の最後の 4 つの条件は を返しますtrue
。
しかしconstructor
、 B .. を代入しようとすると、結果は同じではありません。
A.prototype.constructor = B.prototype.constructor;
var carA = new A();
console.log( B.prototype.constructor );
console.log( A.prototype.constructor == B );
console.log( B.prototype.constructor == B );
console.log( carA instanceof A );
console.log( carA instanceof B );
この場合、をcarA instanceof B
返しますfalse
。false を返す理由