Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 50
1.16Destrukturierung
ОглавлениеDie Destrukturierung bietet eine komfortable Syntax, um die Elemente eines Arrays oder die Werte eines Objekts abzurufen. Wie die anderen Themen auf mittlerem Niveau in diesem Kapitel können Sie auch dieses zunächst überspringen. In diesem Abschnitt geht es um die grundlegende Syntax. Mit den Einzelheiten beschäftigen wir uns im Anschluss.
Wenden wir uns als Erstes den Arrays zu. Angenommen, wir haben das Array pair mit zwei Elementen. Dabei können wir wie folgt auf die einzelnen Elemente zugreifen:
let first = pair[0]
let second = pair[1]
Durch Destrukturierung wird daraus Folgendes:
let [first, second] = pair
Diese Anweisung deklariert die Variablen first und second und initialisiert sie mit pair[0] und pair[1].
Die linke Seite der Destrukturierungszuweisung ist in Wirklichkeit gar kein Array-Literal, denn schließlich gibt es first und second noch gar nicht. Sie können sich diese linke Seite als Muster vorstellen, das angibt, wie die Variablen der rechten Seite zugewiesen werden sollen.
Betrachten Sie nun den folgenden komplizierteren Fall. Schauen Sie sich dabei an, wie die Variablen den Array-Elementen zugeordnet werden:
let [first, [second, third]] = [1, [2, 3]]
// Setzt first auf 1, second auf 2 und third auf 3
Das Array auf der rechten Seite kann länger sein als das Muster auf der linken. Die Elemente, für die es keine Entsprechung gibt, werden einfach ignoriert:
let [first, second] = [1, 2, 3]
Ist das Array dagegen kürzer, werden die Variablen ohne Entsprechung auf undefined gesetzt:
let [first, second] = [1]
// Setzt first auf 1 und second auf undefined
Wenn die Variablen first und second bereits deklariert sind, können Sie sie mithilfe der Destrukturierung auf neue Werte setzen:
[first, second] = [4, 5]