„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was ist der Unterschied zwischen proto und Constructor.prototype in JavaScript?

Was ist der Unterschied zwischen proto und Constructor.prototype in JavaScript?

Veröffentlicht am 11.11.2024
Durchsuche:153

What is the Difference Between proto and Constructor.prototype in JavaScript?

Die Unterschiede zwischen proto und constructionor.prototype

Die proto-Eigenschaft eines Objekts verweist auf sein Prototypobjekt, das gemeinsame Eigenschaften und Methoden enthält. Im Gegensatz dazu verweist „constructor.prototype“ auf die Prototypeigenschaft der Konstruktorfunktion des Objekts.

Das folgende Beispiel veranschaulicht die Unterscheidung:

function Gadget(name, color) {
  this.name = name;
  this.color = color;
}

Gadget.prototype.rating = 3;

var newtoy = new Gadget("webcam", "black");

In diesem Fall zeigt newtoy.__proto__ auf Gadget.prototype, das die Eigenschaftsbewertung hat, während newtoy.constructor.prototype auch auf Gadget verweist .Prototyp. Allerdings gibt newtoy.constructor.prototype.constructor.prototype.constructor.prototype null zurück, da es über Object.prototype hinaus keinen weiteren Prototyp gibt.

Dies liegt daran, dass proto ein direkter Verweis auf ist Prototyp-Objekt, während constructionor.prototype der Prototypenkette folgt. Wenn Sie mehrmals auf „constructor.prototype“ zugreifen, durchlaufen Sie die Prototypenkette, bis Sie Object.prototype der obersten Ebene erreichen.

In Internet Explorer gibt es keine __proto__-Eigenschaft. Stattdessen können Sie das Attribut [[Prototype]] verwenden, um auf den Prototyp eines Objekts zuzugreifen. Auf dieses Attribut kann jedoch im Standard-JavaScript-Code nicht zugegriffen werden.

Die Referenzierung der Prototypobjekte kann Ihnen helfen, die Vererbungshierarchie in JavaScript zu verstehen, und bietet einen Mechanismus zum Teilen von Eigenschaften und Methoden zwischen verwandten Objekten.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729476318 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3