Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗jsPmSOInr 288 of 505 menu

Аператар 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; }

Знайдзіце з дапамогай дадзенай функцыі суму элементаў масіва.

byenru