Операторот spread во JavaScript
Во ES6 се појави специален оператор ...,
наречен spread.
Кога операторот spread стои пред низа, тој ја дели оваа низа на одделни вредности, претворајќи ја низата во збир на параметри потребни за повикување на функцијата.
Сигурно звучи неразбирливо, па затоа да
погледнеме едноставен пример. Нека имаме
функција која прима 3 параметри
и ја враќа нивната сума:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Нека имаме и низа од три елементи:
let arr = [1, 2, 3];
Очигледно е, дека не можеме едноставно да ја пренесеме оваа низа како параметар на функцијата, вака:
let arr = [1, 2, 3];
func(arr);
Бидејќи во овој случај целата низа ќе влезе во првиот параметар на функцијата, а во овој параметар потребно е да се пренесе број (и во останатите параметри исто така).
Се разбира, може да постапиме на следниов начин:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Но, постои и полесен начин - да се искористи операторот spread:
let arr = [1, 2, 3];
func(...arr);
Присуството на променлива не е задолжително - може да се примени spread директно на низата:
func(...[1, 2, 3]);
Дадена е низа:
let arr = [1, 2, 3, 4, 5];
Дадена е и функција:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Најдете со помош на дадената функција збир на елементите на низата.