JavaScript-də spread operatoru

ES6-da spread adlanan, xüsusi ... operatoru əlavə edildi.

Spread operatoru massivin qarşısında dayandıqda, bu massivi ayrı-ayrı dəyərlərə ayırır, massivi funksiya çağırışı üçün lazım olan parametrlər dəstinə çevirir.

Əminliklə, anlaşılmaz səslənir, buna görə də gəlin sadə bir nümunəyə baxaq. Tutaq ki, bizim 3 parametr qəbul edən və onların cəmini qaytaran bir funksiyamız var:

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

Tutaq ki, bizim həmçinin üç elementdən ibarət massivimiz var:

javascriptlet arr = [1, 2, 3];

Aydındır ki, biz sadəcə götürüb bu massivi funksiyanın parametri kimi ötürə bilmərik, belə:

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

Çünki bu halda bütün massiv funksiyanın birinci parametrinə düşəcək, halbuki bu parametrə rəqəm ötürülməlidir (və digər parametrlərə də).

Əlbəttə, aşağıdakı kimi etmək olar:

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

Amma daha asan bir yol da var - spread operatorundan istifadə etmək:

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

Dəyişənin olması məcburi deyil - spread-i birbaşa massivə tətbiq etmək olar:

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

Massiv verilib:

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

Həmçinin funksiya verilib:

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

Verilmiş funksiyanın köməyi ilə massivin elementlərinin cəmini tapın.