function Foo() {}
function Bar() {}
Bar.prototype = new Foo()
console.log("Bar.prototype.constructor === Foo ? "
+ (Bar.prototype.constructor === Foo))
console.log("new Bar() instanceof Bar? "
+ (new Bar() instanceof Bar))
=> Bar.prototype.constructor === Foo ? true
=> new Bar() instanceof Bar? true
Dlaczego jest „instancją” Wynik nie „false”, ponieważ „konstruktor” nie odnosi się do siebie, ale odziedziczył prototypu?Mylące „instancją” wynik
Może powinieneś przeczytać na czym właściwie polega własność 'constructor'. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor –
jako notatkę, nie musisz używać konkatenacji ciągów dla 'console.log', może wziąć wiele argumentów i podać lepsze dane, jeśli osobno przekazujesz argumenty: 'console.log ('Bar.prototype.constructor === Foo", Bar.prototype.constructor === Foo); ' – zzzzBov
dokumenty dla instanceof [tutaj] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof) – Andbdrew