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
Perché è il "instanceof" risultato non "false", perché il "costruttore" non si riferisce a se stesso, ma il prototipo ereditato?Confondere "instanceof" risultato
Forse dovresti leggere su cosa effettivamente si riferisce la proprietà 'constructor'. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor –
come nota, non è necessario utilizzare la concatenazione di stringhe per 'console.log', può prendere più argomenti e darti dati migliori se passi argomenti separatamente: 'console.log ('Bar.prototype.constructor === Foo", Bar.prototype.constructor === Foo); ' – zzzzBov
i documenti per esempio di sono [qui] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof) – Andbdrew