Konstruktoren in JavaScript
Das Erstellen von Objekten einzeln ist zeitaufwendig. Wenn Sie zehn Studenten mit denselben Eigenschaften benötigen, verschwenden Sie Zeit, indem Sie denselben Code immer wieder schreiben.
JavaScript löst dies mit Konstruktor-Funktionen.
Stellen Sie sich einen Konstruktor wie einen Bauplan vor. Ein Bauplan für ein Haus ist kein Haus, aber man nutzt ihn, um viele Häuser zu bauen.
So funktioniert es:
Ein Konstruktor ist eine spezielle Funktion. Sie verwenden das Schlüsselwort new, um Objekte daraus zu erstellen.
Beispiel:
function Student(name, age, city) {
this.name = name;
this.age = age;
this.city = city;
}
const student1 = new Student("John", 21, "Chennai");
const student2 = new Student("David", 22, "Madurai");
Warum sollte man das tun?
- Es spart Zeit.
- Es verhindert Code-Wiederholungen.
- Es schafft eine Standardstruktur für Ihre Daten.
Die Rolle von this:
Innerhalb eines Konstruktors bezieht sich das Wort this auf das neue Objekt, das Sie gerade erstellen.
Wenn ein Lehrer sagt: „mein Klassenzimmer“, bezieht sich das Wort „mein“ auf diesen speziellen Lehrer. Im Code bezieht sich this.name auf den Namen des spezifischen Objekts, das Sie gerade erstellt haben.
Was passiert, wenn man new verwendet?
Wenn Sie const emp = new Employee("John", 50000) ausführen, geschehen vier Schritte:
- JavaScript erstellt ein leeres Objekt.
- Das Schlüsselwort
thiszeigt auf dieses neue Objekt. - Die Eigenschaften werden dem Objekt hinzugefügt.
- Das Objekt wird an Sie zurückgegeben.
Aktionen hinzufügen:
Objekte können mehr, als nur Daten zu speichern. Sie können Aktionen ausführen. In der Programmierung werden diese Aktionen Methoden genannt.
Beispiel:
function Laptop(brand, ram) {
this.brand = brand;
this.ram = ram;
this.showDetails = function() {
console.log(this.brand, this.ram);
};
}
Das Laptop-Objekt enthält nun Daten und eine Funktion, um diese Daten anzuzeigen.
Best Practices:
- Schreiben Sie den ersten Buchstaben eines Konstruktors immer groß. Verwenden Sie
Student, nichtstudent. Dies signalisiert anderen Entwicklern, das Schlüsselwortnewzu verwenden. - Verwenden Sie immer das Schlüsselwort
new. Wenn Sie es vergessen, verhält sich die Funktion wie eine normale Funktion und führt zu Fehlern in Ihrem Code.
Vergleich:
Objekt-Literale:
- Gut für ein einzelnes Objekt.
- Einfach und schnell.
- Kein Bauplan.
Konstruktor-Funktionen:
- Gut für viele Objekte.
- Wiederverwendbar und organisiert.
- Verwendet einen Bauplan-Ansatz.
Quelle: https://www.w3schools.com/js/js_object_constructors.asp Quelle: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor Vollständiger Beitrag: https://dev.to/annapoo/constructor-in-javascript-4nbm