Ich lese this article über constructor
Eigentum und es besagt Folgendes:MDN Konstruktoreigenschaft Erklärung Verwirrung
Gibt einen Verweis auf die Objektfunktion, die die Prototyp der Instanz erstellt.
Und sie geben ein Beispiel:
function Tree(name) {
this.name = name;
}
var theTree = new Tree('Redwood');
console.log('theTree.constructor is ' + theTree.constructor);
Hier die Instanz theTree
und sein Prototyp ist Object.getPrototypeOf(theTree)
, die Object-Funktion ist, nicht Tree
. Was verstehe ich falsch?
Nun, 'Tree' * ist * eine" Objektfunktion ". Es hängt wahrscheinlich nur von den Einzelheiten Ihrer Debugging-Umgebung/Browser ab, ob der Name zu "Baum" oder nur dieser generischen "Objektfunktion" aufgelöst und angezeigt wird. – deceze
@deceze, aber 'Tree' hat' theTree's Prototyp nicht erstellt, es hat die Instanz erstellt. Dies ist ein verwirrender Teil. –
In 'console.log()' darfst du kein Material in String streamen, es verbirgt wichtige Details. –