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]);
Массив берілген:
javascriptlet arr = [1, 2, 3, 4, 5];
Сондай-ақ функция берілген:
javascriptfunction func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Берілген функцияның көмегімен массив элементтерінің қосындысын табыңыз.