Objekte kopieren mit der Spread-Syntax

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.

AnwendungsfallBeschreibungBeispielErgebnis
Array kopierenErstellt flache Kopie eines Arrayslet arr2 = [...arr1];
arr1 = [1,2];
arr2 = [...arr1];
[1,2]
Arrays zusammenführenKombiniert mehrere Arrays zu einem[...arr1, ...arr2][1,2,3,4]
FunktionsargumenteÜbergibt Array-Elemente als einzelne ArgumenteMath.max(...[1,2,3])33
Objekt kopierenErstellt flache Kopie eines Objektslet obj2 = {...obj1};{a:1, b:2}
Objekte zusammenführenKombiniert mehrere Objekte{...obj1, ...obj2}{a:1,b:2,c:3}
Strings entpackenZerlegt 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 Objekte Object.assign() – Spread ist kürzer und moderner.