JavaScript-Vererbung: Enthüllung des Defacto-Standards
Trotz zahlreicher Artikel, die sich mit der JavaScript-Vererbung befassen, kommt es aufgrund der Fülle verfügbarer Ansätze oft zu Verwirrung. Um dieses rätselhafte Thema zu klären, untersuchen wir die am meisten akzeptierten Methoden und bieten maßgeschneiderte Anleitungen für Ihr spezifisches Szenario.
Auswahl des geeigneten Vererbungsmechanismus
Den Unterschied zwischen new und Object.create ist entscheidend für die Auswahl der optimalen Vererbung Strategie. Obwohl beide Techniken die Objekterstellung erleichtern, dienen sie unterschiedlichen Zwecken. Object.create generiert ein neues Objekt, das von einem anderen erbt, während new zusätzlich eine Konstruktorfunktion aufruft.
Anwenden auf Ihren Anwendungsfall
Ihr Ziel ist es, ein Basisobjekt namens Model mit den erweiterbaren Unterklassen RestModel und LocalStorageModel zu erstellen. In diesem Szenario erweist sichObject.create als bevorzugte Methode. Dieser Ansatz entspricht Ihrer Absicht, eine Prototyp-Vererbungshierarchie zu erstellen, ohne den Modellkonstruktor aufzurufen.
<p>RestModel.prototype = Object.create(Model.prototype);<br></ pre><br></p> <p>Aufrufen eines Konstruktors in Unterklassen<strong></strong></p>Wenn der Aufruf des Modellkonstruktors für RestModels gewünscht wird, wird dies nicht durch Vererbung erreicht. Stattdessen stellen <p>call()<strong> oder </strong>apply()<strong> die Mittel bereit, um die Konstruktorausführung auszulösen.</strong></p><pre class="brush:php;toolbar:false"><p>function RestModel() {<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Model.call(this); // Apply Model's constructor on the new object ...
Das obige ist der detaillierte Inhalt vonJavaScript-Vererbung: Object.create vs. new: Welches ist das Richtige für Sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!