Spread operator u JavaScript-u
U ES6 je uveden specijalni operator ...,
koji se naziva spread.
Kada se spread operator nalazi ispred niza, on razbija taj niz na pojedinačne vrednosti, pretvarajući niz u skup parametara potrebnih za poziv funkcije.
Zvuči možda nejasno, pa hajde da pogledamo
na jednostavnom primeru. Pretpostavimo da imamo
funkciju koja prima 3 parametra
i vraća njihov zbir:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Pretpostavimo da takođe imamo niz od tri elementa:
let arr = [1, 2, 3];
Očigledno je da ne možemo jednostavno proslediti ovaj niz kao parametar funkciji, ovako:
let arr = [1, 2, 3];
func(arr);
Jer u tom slučaju ceo niz biće prosleđen prvom parametru funkcije, a u ovaj parametar treba proslediti broj (kao i u ostale parametre takođe).
Naravno, moguće je postupiti na sledeći način:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Ali postoji i jednostavniji način - upotreba spread operatora:
let arr = [1, 2, 3];
func(...arr);
Prisustvo promenljive nije obavezno - spread se može primeniti direktno na niz:
func(...[1, 2, 3]);
Dat je niz:
let arr = [1, 2, 3, 4, 5];
Data je i funkcija:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Pronađite pomoću date funkcije zbir elemenata niza.