Objekt-Konstruktoren in JavaScript

Oft müssen viele Objekte desselben Typs erstellt werden. JavaScript bietet verschiedene Möglichkeiten, dies zu tun.

Konstruktorfunktionen

Ein Konstruktor ist eine spezielle Funktion zum Erstellen und Einrichten von Objekten. Verwenden Sie das Schlüsselwort new, um ihn aufzurufen. Beginnen Sie den Funktionsnamen immer mit einem Großbuchstaben. Dies hilft dabei, ihn von regulären Funktionen zu unterscheiden.

Wenn Sie das new-Schlüsselwort vergessen, arbeitet die Funktion wie eine Standardfunktion und erstellt kein ordnungsgemäßes Objekt.

Standardwerte

Sie können Standardwerte in Ihrem Konstruktor festlegen. Dies stellt sicher, dass Ihre Objekte immer gültige Daten haben, selbst wenn Sie ein Argument vergessen.

Beispiel: function Person(name = "Unknown", age = 0) { this.name = name; this.age = age; }

Prototypen und Speicher

Das Hinzufügen von Methoden zu einem Prototyp ist sinnvoller, als sie direkt einem Konstruktor hinzuzufügen. Wenn Sie den Prototyp verwenden, teilen sich alle Instanzen eine einzige Methode. Dies spart Speicherplatz, da der Computer die Methode nicht für jedes neue Objekt neu erstellt.

Object.create()

Diese Methode erstellt ein neues Objekt, indem sie ein bestehendes Objekt als Prototyp verwendet. Sie ermöglicht Vererbung, ohne dass ein Konstruktor benötigt wird. Das neue Objekt kann auf Eigenschaften des ursprünglichen Objekts zugreifen.

Klassenvererbung

Modernes JavaScript verwendet Klassen, um Vererbung zu handhaben. Sie können eine Kindklasse erstellen, die eine Elternklasse erweitert. Verwenden Sie das Schlüsselwort super(), um Daten von der Kindklasse an die Elternklasse zu übergeben. Dies ermöglicht es der Kindklasse, Eigenschaften der Elternklasse zu nutzen und gleichzeitig eigene, einzigartige Funktionen hinzuzufügen.

Warum Konstruktoren verwenden?

Quelle: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Quelle: https://www.w3schools.com/js/js_object_constructors.asp Vollständiger Post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96

Optionale Lern-Community: https://t.me/GyaanSetuAi