Modernes JavaScript mit ES6–ES13 (JS-Tutorial)

Klassen in JavaScript: Die syntaktische Revolution

Alle Videos des Tutorials Modernes JavaScript mit ES6–ES13 (JS-Tutorial)

JavaScript hat sich über die Jahre hinweg erheblich weiterentwickelt. Insbesondere mit der Einführung von ES6 wurde das Programmieren mit Klassen deutlich erleichtert. Die alte Methode zur Klassenerstellung über Prototypen und Konstruktorfunktionen war oft umständlich und fehleranfällig. In diesem Tutorial erfährst du, wie du die neue class-Syntax effektiv nutzen kannst und welche Unterschiede es zwischen der alten und der neuen Schreibweise gibt. Zudem lernst du, wie du durch Vererbung deine Klassenstruktur erweitern kannst.

Wichtigste Erkenntnisse

  • Die neue class-Syntax ermöglicht eine klarere und kompaktere Definitionsform.
  • Die Verwendung von Konstruktoren ist einfacher und erfordert keine separaten Prototypen.
  • Die Funktionalität hinter der class-Syntax bleibt prototypenbasiert.

Schritt-für-Schritt-Anleitung

1. Die alte Schreibweise verstehen

Um die Vorteile der neuen Klassen-Syntax zu erkennen, schauen wir uns zunächst die alte Methode an. Hierbei wurde eine Konstruktorfunktion erstellt und die Methoden wurden über den Prototypen hinzugefügt.

Klassen in JavaScript: Die syntaktische Revolution

Wenn du ein neues Objekt erzeugen möchtest, geschieht das mit new Shape(1, 100, 200). Dann kann das Objekt shape genutzt werden, um die Eigenschaften abzurufen.

2. Anzeige der Werte

Um sicherzustellen, dass unsere Objektinstanz korrekt funktioniert, geben wir die Eigenschaften x und y aus.

Klassen in JavaScript: Die syntaktische Revolution

3. Die neue class-Syntax einführen

Jetzt wechseln wir zur neuen class-Syntax, die ab ES6 verfügbar ist.

Die Veränderungen sind deutlich: Du benötigst keinen separaten Prototypen mehr. Stattdessen definierst du alle Methoden innerhalb der Klasse selbst.

4. Objekte mit der neuen Klasse erstellen

Die Erstellung eines Objekts mit der neuen Syntax erfolgt ebenso wie zuvor. Du nutzt new, um eine Instanz der Klasse Shape zu erzeugen.

5. Nutzung der neuen Klasse

Die Verwendung der neu definierten Klasse ist identisch zur alten Methode. Du kannst die Instanz shape1 nutzen, um die Werte abzurufen und die move-Methode zu verwenden.

6. Vererbung in Klassen

Ein weiterer Vorteil der class-Syntax ist die Möglichkeit zur Vererbung. Wenn du eine neue Klasse erstellen willst, die von einer bestehenden Klasse erbt, kannst du das Schlüsselwort extends verwenden.

Hierbei ruft der Konstruktor der Kinderklasse super() den Konstruktor der Elternklasse auf. Das ermöglicht es dir, die Eigenschaften von Shape zu nutzen und gleichzeitig einzigartige Eigenschaften für Rectangle zu definieren.

7. Fazit zur class-Deklaration

Die class-Syntax macht deine Codebasis nicht nur übersichtlicher, sondern erlaubt auch eine klarere Strukturierung beim Arbeiten mit objektorientierten Konzepten. Du kannst nicht nur Klassen erstellen, sondern auch komplexe Vererbungshierarchien aufbauen, was deinen Code flexibler und wartungsfreundlicher gestaltet.

Zusammenfassung – Die neue Klassen-Syntax in JavaScript: ES6 bis ES13

In diesem Tutorial hast du gelernt, wie du die neue class-Syntax in JavaScript von ES6 bis ES13 effektiv einsetzen kannst. Die alte Methode der Klassenbildung war oft mühsam und fehleranfällig, während die neue Syntax eine klare und einfache Struktur ermöglicht. Außerdem hast du die Grundlagen der Vererbung durch die extends-Syntax kennengelernt, um deine Klassen noch weiter auszubauen.

Häufig gestellte Fragen

Was ist der Unterschied zwischen der alten und der neuen Klassen-Syntax?Die alte Methode verwendet Konstruktorfunktionen und Prototypen, während die neue Syntax die Definition und Verwendung von Klassen vereinfacht.

Warum sollte ich die neue class-Syntax verwenden?Sie bietet eine klarere, kompaktere und intuitivere Möglichkeit, Klassen zu definieren, was die Wartung und Lesbarkeit des Codes verbessert.

Wie funktioniert die Vererbung mit der class-Syntax?Deine Klasse kann die Funktionalitäten einer anderen Klasse durch das extends-Schlüsselwort übernehmen, indem du den Konstruktor der Elternklasse mit super() aufrufst.