Когда я проверил метод 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
. Почему он возвращает ложь