Der Spread-Operator in JavaScript
In ES6 wurde ein spezieller Operator ... eingeführt,
der spread genannt wird.
Wenn der Spread-Operator vor einem Array steht, teilt er dieses Array in einzelne Werte auf, indem er das Array in einen Satz von Parametern umwandelt, die für den Aufruf einer Funktion benötigt werden.
Das klingt sicherlich unklar, deshalb schauen wir uns
ein einfaches Beispiel an. Nehmen wir an, wir haben
eine Funktion, die 3 Parameter akzeptiert
und deren Summe zurückgibt:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Nehmen wir weiter an, wir haben ein Array mit drei Elementen:
let arr = [1, 2, 3];
Offensichtlich können wir nicht einfach dieses Array als Parameter an die Funktion übergeben, so:
let arr = [1, 2, 3];
func(arr);
Denn in diesem Fall würde das gesamte Array in den ersten Parameter der Funktion gelangen, obwohl in diesen Parameter eine Zahl übergeben werden müsste (und auch in die anderen Parameter ebenfalls).
Natürlich könnte man folgendermaßen vorgehen:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Aber es gibt einen einfacheren Weg - den Spread-Operator zu verwenden:
let arr = [1, 2, 3];
func(...arr);
Das Vorhandensein einer Variable ist nicht zwingend erforderlich - man kann spread direkt auf das Array anwenden:
func(...[1, 2, 3]);
Gegeben ist ein Array:
let arr = [1, 2, 3, 4, 5];
Gegeben ist auch eine Funktion:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Ermitteln Sie mithilfe der angegebenen Funktion die Summe der Elemente des Arrays.