Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 51
Tipp
ОглавлениеUm die Werte der Variablen x und y zu vertauschen, schreiben Sie einfach Folgendes:
[x, y] = [y, x]
Wenn Sie die Destrukturierung für eine Zuweisung verwenden, muss die linke Seite nicht unbedingt aus Variablen bestehen. Stattdessen können Sie auch L-Werte verwenden, also Ausdrücke, die nur auf der linken Seite einer Anweisung stehen können. Die Destrukturierung im folgenden Beispiel ist daher gültig:
[numbers[0], harry.age] = [13, 42] // Gleichwertig mit numbers[0] = 13;
harry.age = 42
Die Destrukturierung für Objekte erfolgt auf ähnliche Weise, allerdings verwenden Sie dabei Eigenschaftennamen statt Array-Positionen:
let harry = { name: 'Harry', age: 42 }
let { name: harrysName, age: harrysAge} = harry
Dieser Code deklariert die beiden Variablen harrysName und harrysAge und initialisiert sie mit den Werten der Eigenschaften name und age des Objekts auf der rechten Seite. Denken Sie daran, dass die linke Seite kein Objektliteral ist, sondern ein Muster, das angibt, wie die Variablen der rechten Seite zugeordnet werden.
Die Destrukturierung für Objekte ist besonders dann praktisch, wenn die Eigenschaft denselben Namen hat wie die Variable. In einem solchen Fall können Sie den Eigenschaftennamen und den Doppelpunkt weglassen. Die folgende Anweisung deklariert die beiden Variablen name und age und initialisiert sie mit den gleichnamigen Eigenschaften des Objekts auf der rechten Seite:
let { name, age } = harry
Das ist gleichbedeutend mit der folgenden Anweisung:
let { name: name, age: age} = harry
Und natürlich auch mit dieser Schreibweise:
let name = harry.name
let age = harry.age