Zum Inhalt springen

JavaScript-ES6-Funktionen

ECMAScript 6 (ES6) ist ein bedeutendes Update der JavaScript-Sprache, das viele neue Funktionen eingeführt hat und JavaScript leistungsfähiger und effizienter macht. Dieser Leitfaden bietet eine ausführliche Einführung in ES6 mit umfassenden Erklärungen und mehreren Codebeispielen, die Ihnen helfen, diese neuen Möglichkeiten zu meistern.

Einführung in ES6

ES6, auch bekannt als ECMAScript 2015, brachte viele Verbesserungen und neue Funktionen für JavaScript. Diese Änderungen haben die Sprache moderner und einfacher in der Anwendung gemacht und sowohl die Lesbarkeit als auch die Wartbarkeit verbessert.

Let und Const

Eine der bemerkenswertesten Änderungen in ES6 ist die Einführung von let und const für die Variablendeklaration. Diese neuen Schlüsselwörter bieten bessere Geltungsbereichsregeln und sind für das Schreiben robuster Code unerlässlich.

Let

Das Schlüsselwort let ermöglicht es Ihnen, Variablen zu deklarieren, deren Gültigkeitsbereich auf den Block, die Anweisung oder den Ausdruck beschränkt ist, in dem sie verwendet werden.


Output appears here after Run.

Im obigen Beispiel ist x, das innerhalb des if-Blocks deklariert wird, eine separate Variable von x, das außerhalb deklariert wird. Dies zeigt die von let bereitgestellte Block-Sichtbarkeit.

Const

Das Schlüsselwort const wird verwendet, um Variablen zu deklarieren, deren Werte sich niemals ändern sollen. Es ist wie let blockbasiert.


Output appears here after Run.

In diesem Beispiel führt der Versuch, y neu zuzuweisen, zu einem Fehler, da const eine Konstante deklariert, deren Wert nicht geändert werden kann.

INFO

Verwenden Sie für Variablen, die nicht neu zugewiesen werden müssen, immer const, um versehentliche Änderungen zu vermeiden.

Arrow Functions

Arrow Functions bieten eine kompakte Syntax zum Schreiben von Funktionsausdrücken. Außerdem binden sie den Wert von this lexikalisch, was sie besonders nützlich für das Schreiben kurzer Funktionen macht.


Output appears here after Run.

Hier nimmt die Arrow Function add zwei Parameter entgegen und gibt ihre Summe zurück. Die kompakte Syntax macht den Code lesbarer und knapper.

INFO

Verwenden Sie Arrow Functions für eine kompakte Syntax und um den lexikalischen this-Kontext beizubehalten.

Template Literals

Template Literals erleichtern das Erstellen von Zeichenketten, insbesondere beim Einbetten von Variablen oder Ausdrücken. Sie verwenden Backticks (```) statt Anführungszeichen.


Output appears here after Run.

Dieses Beispiel zeigt, wie Sie mit Template Literals die Variable name direkt in die Zeichenkette einbetten können, was Lesbarkeit und Komfort verbessert.

Standardparameter

Standardparameter ermöglichen es Ihnen, Funktionsparametern Standardwerte zuzuweisen, wenn keine Werte übergeben werden.


Output appears here after Run.

In diesem Beispiel weist die Funktion multiply dem Parameter b den Standardwert 1 zu, wenn kein zweites Argument übergeben wird, sodass die Funktion immer ein gültiges Ergebnis zurückgibt.

Destrukturierende Zuweisung

Destrukturierende Zuweisung ist eine praktische Möglichkeit, Werte aus Arrays oder Objekten in einzelne Variablen zu extrahieren.

Array-Destrukturierung


Output appears here after Run.

Dieses Beispiel zeigt, wie Sie mit der Array-Destrukturierung die Werte des Arrays numbers einzelnen Variablen a, b und c zuweisen können.

Objekt-Destrukturierung


Output appears here after Run.

In diesem Beispiel extrahiert die Objekt-Destrukturierung die Eigenschaften name und age aus dem Objekt person in separate Variablen.

Erweiterte Objektliterale

ES6 erweitert Objektliterale und ermöglicht eine kompaktere und besser lesbare Syntax.


Output appears here after Run.

Hier verwendet das Objekt obj Kurzschreibweisen für Eigenschaftsnamen und Methodendefinitionen, wodurch das Objektliteral kompakter wird.

Promises

Promises bieten eine effizientere Möglichkeit, asynchrone Operationen zu behandeln, vermeiden Callback-Hölle und machen den Code lesbarer.


Output appears here after Run.

In diesem Beispiel wird ein Promise erstellt, das nach 1 Sekunde mit der Nachricht 'Success!' aufgelöst wird. Die Methode then wird verwendet, um den aufgelösten Wert zu verarbeiten.

INFO

Verwenden Sie Promises, um asynchrone Operationen sauber zu behandeln und Callback-Hölle zu vermeiden.

Klassen

ES6 führte Klassen ein und bietet eine klarere und kompaktere Syntax zum Erstellen von Objekten und zum Umgang mit Vererbung.


Output appears here after Run.

Dieses Beispiel zeigt, wie Klassen in ES6 eine saubere und intuitive Syntax zum Definieren von Objekten und ihrem Verhalten bieten.

Module

Module ermöglichen es Ihnen, Ihren Code in separate Dateien aufzuteilen und Funktionen, Objekte oder primitive Werte zwischen Dateien zu importieren und zu exportieren.

Exportieren


javascript
// math.js
export const add = (a, b) => a + b;

Importieren


javascript
// main.js
import { add } from './math.js';
console.log(add(2, 3)); // 5

In diesen Beispielen wird die Funktion add aus math.js exportiert und in main.js importiert, was zeigt, wie Module die Organisation und Wiederverwendung von Code erleichtern.

Rest- und Spread-Operatoren

Rest-Operator

Der Rest-Operator (...) ermöglicht es Ihnen, eine unbestimmte Anzahl von Argumenten als Array darzustellen.


Output appears here after Run.

In diesem Beispiel verwendet die Funktion sum den Rest-Operator, um alle Argumente in einem Array zu sammeln, was die Verarbeitung erleichtert.

Spread-Operator

Der Spread-Operator (...) ermöglicht es, ein iterierbares Objekt (wie ein Array) an Stellen zu erweitern, an denen null oder mehr Argumente oder Elemente erwartet werden.


Output appears here after Run.

Dieses Beispiel zeigt, wie der Spread-Operator verwendet werden kann, um Arrays zu einem einzigen Array zusammenzuführen und so den Code zu vereinfachen.

Iteratoren und Generatoren

Iteratoren

Iteratoren sind Objekte, mit denen Sie eine Sammlung wie ein Array oder einen String durchlaufen können.


Output appears here after Run.

In diesem Beispiel bietet der Iterator eine Möglichkeit, auf jedes Element im Array nacheinander zuzugreifen.

Generatoren

Generatoren sind Funktionen, die angehalten und fortgesetzt werden können und eine leistungsstarke Möglichkeit zur Verarbeitung von Iterables bieten.


Output appears here after Run.

Dieses Beispiel zeigt, wie eine Generatorfunktion Werte nacheinander ausgeben kann, wobei die Ausführung zwischen den einzelnen yield-Anweisungen angehalten wird.

Symbole

Symbole sind ein neuer primitiver Datentyp, der in ES6 eingeführt wurde. Sie sind eindeutig und unveränderlich und werden oft verwendet, um eindeutige Objektschlüssel zu erstellen.


Output appears here after Run.

In diesem Beispiel sind symbol1 und symbol2 eindeutig, obwohl sie dieselbe Beschreibung haben.

Maps und Sets

Maps

Maps sind Sammlungen von Schlüssel-Wert-Paaren, bei denen die Schlüssel von beliebigem Typ sein können.


Output appears here after Run.

Dieses Beispiel zeigt, wie man eine Map erstellt, Schlüssel-Wert-Paare setzt und Werte abruft.

Sets

Sets sind Sammlungen eindeutiger Werte.


Output appears here after Run.

In diesem Beispiel enthält das Set nur eindeutige Werte, obwohl 3 zweimal hinzugefügt wurde.

Proxys

Proxys ermöglichen es Ihnen, einen Proxy für ein anderes Objekt zu erstellen und grundlegende Operationen abzufangen und neu zu definieren.


Output appears here after Run.

Dieses Beispiel zeigt, wie ein Proxy den Zugriff auf Eigenschaften abfangen und eine benutzerdefinierte Antwort liefern kann, wenn die Eigenschaft nicht gefunden wird.

WeakMap und WeakSet

WeakMap

WeakMap ist ähnlich wie Map, erlaubt aber nur Objekte als Schlüssel und verhindert keine Garbage Collection, wenn keine anderen Referenzen auf das Schlüsselobjekt vorhanden sind.


Output appears here after Run.

WeakSet

WeakSet ist ähnlich wie Set, erlaubt aber nur Objekte als Werte und verhindert keine Garbage Collection, wenn keine anderen Referenzen auf das Objekt vorhanden sind.


Output appears here after Run.

Fazit

ES6 bringt eine Vielzahl von Funktionen mit sich, die JavaScript zu einer robusteren und effizienteren Sprache machen. Wenn Entwickler diese Funktionen verstehen und nutzen, können sie saubereren und besser wartbaren Code schreiben. Dieser Leitfaden hat die wichtigsten Aspekte von ES6 ausführlich erläutert und mit Beispielen versehen, um Ihnen den Einstieg zu erleichtern.

Practice

Welche der folgenden Funktionen wurden in JavaScript ES6 eingeführt?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.