Operátor spread v JavaScripte
V ES6 sa objavil špeciálny operátor ...,
ktorý sa nazýva spread.
Keď operátor spread stojí pred polom, rozdelí toto pole na jednotlivé hodnoty, čím zmení pole na súbor parametrov potrebných na volanie funkcie.
Určite to znie nejasne, tak sa poďme
pozrieť na jednoduchý príklad. Nech máme
funkciu, ktorá prijíma 3 parametre
a vráti ich súčet:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Nech máme tiež pole z troch prvkov:
let arr = [1, 2, 3];
Je zrejmé, že nemôžeme jednoducho vziať a odovzdať toto pole ako parameter funkcie, takto:
let arr = [1, 2, 3];
func(arr);
Pretože v tomto prípade celé pole padne do prvého parametra funkcie, a do tohto parametra je potrebné odovzdať číslo (a aj do ostatných parametrov tiež).
Samozrejme, môžeme postupovať nasledovne:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Ale existuje jednoduchšia cesta - použiť operátor spread:
let arr = [1, 2, 3];
func(...arr);
Prítomnosť premennej nie je povinná - môžeme aplikovať spread priamo na pole:
func(...[1, 2, 3]);
Dané pole:
let arr = [1, 2, 3, 4, 5];
Daná aj funkcia:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Nájdite pomocou danej funkcie súčet prvkov poľa.