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
Warum ist das „instanceof“ Ergebnis nicht „falsch“, weil die „Konstruktor“ nicht auf sich selbst bezieht, sondern die geerbte Prototyp?Verwirrend „instanceof“ Ergebnis
Vielleicht sollten Sie lesen, worauf sich die 'constructor' Eigenschaft bezieht. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor –
als eine Notiz, müssen Sie keine Zeichenfolge Verkettung für 'console.log', es kann nehmen Sie mehrere Argumente und geben Sie bessere Daten, wenn Sie Argumente separat übergeben: 'console.log ('Bar.prototype.constructor === Foo", Bar.prototype.constructor === Foo); ' – zzzzBov
die Dokumente für instanceof sind [hier] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof) – Andbdrew