Wie der neue Operator Objekte in JavaScript erstellt und initialisiert
Der neue Operator ist ein leistungsstarkes Schlüsselwort in JavaScript, das zum Erstellen neuer Objekte verwendet wird. Es spielt eine entscheidende Rolle in der objektorientierten Programmierung, kann jedoch schwierig zu verstehen sein, insbesondere in Bezug auf die Prototypenkette.
Den neuen Operator verstehen
Bei der Verwendung Beim neuen Operator mit einer Funktion laufen intern die folgenden Schritte ab:
Eine Beispielimplementierung
Um die Funktionalität des neuen Operators zu demonstrieren, Hier ist eine entsprechende Implementierung:
<code class="javascript">function NEW(f) { let obj, ret, proto; // Check if `f.prototype` is an object proto = f.prototype ? f.prototype : Object.prototype; // Create an object inheriting from `proto` obj = Object.create(proto); // Call the function with `obj` as `this` ret = f.apply(obj, Array.prototype.slice.call(arguments, 1)); // Return the object from the function or the newly created `obj` return Object(ret) === ret ? ret : obj; }</code>
Beispielverwendung
Betrachten Sie dieses Beispiel:
<code class="javascript">function Foo(arg) { this.prop = arg; } Foo.prototype.inherited = 'baz'; let obj = NEW(Foo, 'bar'); console.log(obj.prop); // Output: "bar" console.log(obj.inherited); // Output: "baz" console.log(obj instanceof Foo); // Output: true</code>
Dies zeigt, wie der neue Operator ein Objekt erstellt die vom Prototyp der Funktion erbt und den Zugriff auf ihre Eigenschaften und Methoden ermöglicht.
Das obige ist der detaillierte Inhalt vonWie arbeitet der „new'-Operator hinter den Kulissen, um Objekte in JavaScript zu erstellen und zu initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!