JavaScript даги spread оператори

ES6 да ... махсус оператори пайдо бўлди, у spread деб аталади.

Spread оператори массив олдида турганда, у шу массивни алохида қийматларга ажратади, массивни функцияни чақириш учун зарур бўлган параметрлар тўпламига айлантиради.

Аникки, тушунарсиз эшитилади, шунинг учун кулай мисолда кўрамиз. Бизда 3 параметр қабул қиладиган ва уларнинг йиғиндисини қайтарадиган функция бор дейлик:

javascriptfunction func(num1, num2, num3) {
  return num1 + num2 + num3;
}

Бизда учта элементдан иборат массив хам бор дейлик:

javascriptlet arr = [1, 2, 3];

Аникки, биз бу массивни ўзини функцияга параметр сифатида бериб бўлмайди, мана бу шаклда:

javascriptlet arr = [1, 2, 3];
func(arr);

Чунки бу ҳолатда бутун массив функциянинг биринчи параметрига түшади, ҳолбуки ушбу параметрга рақам берилиши зарур (ва бошқа параметрларга хам).

Албатта, куйидагича қилиш мумкин:

javascriptlet arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);

Лекин янада содда йўл - spread операторидан фойдаланиш:

javascriptlet arr = [1, 2, 3];
func(...arr);

Ўзгарувчи борлиги мажбурий эмас - spread ни тўғридан-тўғри массивга қўлланса бўлади:

javascriptfunc(...[1, 2, 3]);
Задание 1

Массив берилган:

javascriptlet arr = [1, 2, 3, 4, 5];

Функция хам берилган:

javascriptfunction func(num1, num2, num3, num4, num5) {
  return num1 + num2 + num3 + num4 + num5;
}

Берилган функция ёрдамида массив элементларининг йиғиндисини топиң.