Die Spread-Syntax (...) in JavaScript erlaubt es, iterierbare Objekte wie Arrays oder Strings zu „entpacken“ und einzelne Elemente oder Werte zu extrahieren.
Sie wird häufig verwendet, um Arrays oder Objekte zu kopieren, zusammenzuführen oder Argumente an Funktionen zu übergeben.
| Anwendungsfall | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| Array kopieren | Erstellt flache Kopie eines Arrays | let arr2 = [...arr1];arr1 = [1,2];arr2 = [...arr1]; | [1,2] |
| Arrays zusammenführen | Kombiniert mehrere Arrays zu einem | [...arr1, ...arr2] | [1,2,3,4] |
| Funktionsargumente | Übergibt Array-Elemente als einzelne Argumente | Math.max(...[1,2,3]) → 3 | 3 |
| Objekt kopieren | Erstellt flache Kopie eines Objekts | let obj2 = {...obj1}; | {a:1, b:2} |
| Objekte zusammenführen | Kombiniert mehrere Objekte | {...obj1, ...obj2} | {a:1,b:2,c:3} |
| Strings entpacken | Zerlegt String in einzelne Zeichen | [...'Hello'] → ['H','e','l','l','o'] | ['H','e','l','l','o'] |
Hinweise:
- Flache Kopie: Spread kopiert nur erste Ebene, verschachtelte Objekte bleiben referenziert !!!
- Reihenfolge wichtig: Bei Objekt-Merging überschreibt letztes Objekt gleiche Schlüssel.
- Alternative: Für Arrays gibt es auch
concat(), für ObjekteObject.assign()– Spread ist kürzer und moderner.