Spread und Rest Operator
Spread Operator
Die Spread (...
)-Syntax ermöglicht es, ein Iterable, wie z. B. ein Array oder einen String, an Stellen zu erweitern, an denen null oder mehr Argumente (bei Funktionsaufrufen) oder Elemente (bei Array-Literalen) erwartet werden. In einem Objektliteral zählt die Spread-Syntax die Eigenschaften eines Objekts auf und fügt die Schlüssel-Wert-Paare dem zu erstellenden Objekt hinzu.
Beispiele
Funktionsaufrufe
Wir können über die Spread-Syntax einer Funktion die Argumente innerhalb eines Arrays mitgeben.
const sum = (x, y, z) => {
return x + y + z;
}
const numbers = [1, 2, 3];
Array-Literals
Wir können mit der Spread-Syntax Arrays mit Arrays kombinieren und so Elemente hinzufügen.
const parts = ["shoulders", "knees"];
Wir können mit dem Spread Operator ausserdem einen Array kopieren.
const arr2 = [...arr];
Mit der Spread-Syntax können wir Arrays verketten.
let arr1 = [0, 1, 2];
const arr2 = [3, 4, 5];
Objekt-Literals
Mit dem Spread Operator können wir Objekte ganz einfach zusammenführen.
const obj1 = { foo: "bar", x: 42 };
const obj2 = { bar: "baz", y: 13 };
Wie auch bei Arrays, können wir Objekte mit der Spread-Syntax klonen.
const clonedObj = { ...obj1 };
Mit dem Spread Operator können wir Properties überschreiben.
const obj1 = { foo: "bar", x: 42 };
const obj2 = { foo: "baz", y: 13 };
Rest Operator
Du kannst ein Destructuring Pattern mit dem Rest Operator ...rest
beenden. Dieses Pattern speichert alle verbleibenden Eigenschaften des Objekts oder Arrays in einem neuen Objekt oder Array.
const { a, ...others } = { a: 1, b: 2, c: 3 };
const [first, ...others2] = [1, 2, 3];
Zuletzt aktualisiert