Heim >Web-Frontend >js-Tutorial >Wann sollte man Object.create anstelle von new für die JavaScript-Vererbung wählen?

Wann sollte man Object.create anstelle von new für die JavaScript-Vererbung wählen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-19 07:11:03965Durchsuche

When to Choose Object.create Over new for JavaScript Inheritance?

JavaScript-Vererbung: Object.create vs. new

Das Konzept der Vererbung in JavaScript kann verwirrend sein, da es verschiedene Ansätze zur Umsetzung gibt Es. Ziel dieses Artikels ist es, die am häufigsten akzeptierten Methoden zu klären und eine Lösung für Ihr spezifisches Szenario bereitzustellen.

Object.create und new verstehen

Object.create ist eine Methode zum Erstellen ein neues Objekt durch Erben von einem vorhandenen Objekt. Dies ist nützlich, wenn Sie ein Basisobjekt erstellen und es dann um zusätzliche Eigenschaften und Methoden erweitern möchten. Die Syntax für Object.create lautet:

Object.create(prototype[, propertiesObject])

Andererseits wird das Schlüsselwort new verwendet, um eine neue Instanz eines Objekts zu erstellen und seine Konstruktorfunktion aufzurufen. Die Syntax für new lautet:

new ConstructorFunction([arguments])

Auswahl der richtigen Methode zur Vererbung

Die Wahl zwischen Object.create und new hängt von Ihren spezifischen Anforderungen ab. Object.create eignet sich ideal zum Erstellen von Basisobjekten, von denen Sie erben möchten, ohne deren Konstruktoren aufzurufen. Zum Beispiel:

const Model = {
    // Base object properties and methods...
};

const RestModel = Object.create(Model);

Wenn Sie jedoch die Konstruktorfunktion des Basisobjekts auf dem erbenden Objekt aufrufen möchten, sollten Sie new verwenden. Zum Beispiel:

function Model() {
    // Base object constructor...
}

function RestModel() {
    Model.call(this);
    // Additional properties and methods...
}

Lösung für Ihr Szenario

In Ihrem Fall möchten Sie das RestModel vom Model-Basisobjekt erben. Um dies mit Object.create zu erreichen, würden Sie Folgendes tun:

RestModel.prototype = Object.create(Model.prototype);

Dadurch wird ein neuer RestModel-Prototyp erstellt, der vom Model-Prototyp erbt.

Das obige ist der detaillierte Inhalt vonWann sollte man Object.create anstelle von new für die JavaScript-Vererbung wählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn