Оператор 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;
}
Пронађите помоћу наведене функције збир елемената низа.