Spread-operatoren i JavaScript
I ES6 dukkede en speciel operator ... op,
som kaldes spread.
Når spread-operatoren står foran et array, opdeler den dette array i separate værdier, hvilket omdanner arrayet til et sæt parametre, der er nødvendige for at kalde en funktion.
Det lyder sikkert uklart, så lad os
se på et simpelt eksempel. Lad os sige, at vi
har en funktion, der tager 3 parametre
og returnerer deres sum:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Lad os også sige, at vi har et array med tre elementer:
let arr = [1, 2, 3];
Det er indlysende, at vi ikke bare kan sende dette array som et parameter til funktionen, sådan her:
let arr = [1, 2, 3];
func(arr);
For i dette tilfælde vil hele arrayet havne i den første parameter for funktionen, og til denne parameter skal man sende et tal (og det samme gælder for de andre parametre).
Man kan selvfølgelig gøre følgende:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Men der er en nemmere måde - at bruge spread-operatoren:
let arr = [1, 2, 3];
func(...arr);
At have en variabel er ikke obligatorisk - man kan anvende spread direkte på arrayet:
func(...[1, 2, 3]);
Givet et array:
let arr = [1, 2, 3, 4, 5];
Der er også givet en funktion:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Find summen af arrayets elementer ved hjælp af den givne funktion.