JavaScript-da spread operatori
ES6-da spread deb ataladigan
... maxsus operatori paydo bo'ldi.
Spread operatori massiv oldida turganida, u massivni alohida qiymatlarga ajratadi, massivni funktsiya chaqiruvi uchun zarur bo'lgan parametrlar to'plamiga aylantiradi.
Ehtimol, bu tushunarsiz tuyuladi, shuning uchun keling
oddiy misolni ko'rib chiqaylik. Faraz qilaylik, bizda
3 ta parametr qabul qiladigan va ularning yig'indisini
qaytaradigan funktsiya mavjud:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Faraz qilaylik, bizda uchta elementdan iborat massiv ham mavjud:
let arr = [1, 2, 3];
Shubhasiz, biz bu massivni oddiygina olib, funktsiyaga parametr sifatida berib bo'lmaydi, mana shu tarzda:
let arr = [1, 2, 3];
func(arr);
Chunki bu holda butun massiv funktsiyaning birinchi parametriga tushadi, va bu parametrga son berish kerak (va boshqa parametrlarga ham).
Albatta, quyidagicha amalga oshirish mumkin:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Ammo yanada oddiyroq yo'li mavjud - spread operatoridan foydalanish:
let arr = [1, 2, 3];
func(...arr);
O'zgaruvchining mavjudligi majburiy emas - spread ni to'g'ridan-to'g'ri massivga qo'llash mumkin:
func(...[1, 2, 3]);
Massiv berilgan:
let arr = [1, 2, 3, 4, 5];
Shuningdek, funktsiya berilgan:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Berilgan funktsiya yordamida massiv elementlari yig'indisini toping.