Оператори 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;
}
Бо истифода аз функсияи додашуда ҷамъи унсурҳои массивро ёбед.