spread під час виклику функції
Оператор spread (...) під час виклику функції розкриває (розгортає) масив (або інший ітерований об'єкт) в окремі аргументи функції.
Синтаксис:
javascript
myFunc(...array)еквівалентно
javascript
myFunc(array[0], array[1], array[2], ...)Приклад:
javascript
function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
// spread розкриває масив в окремі аргументи
console.log(sum(...numbers)); // 6Без spread це виглядало б так:
javascript
sum(numbers); // NaN - тому що функція очікує три числа, а не один масивМожна використовувати з будь-якими ітерованими структурами:
Наприклад, зі строками:
javascript
function logChars(a, b, c) {
console.log(a, b, c);
}
logChars(...'abc'); // a b cКомбінування spread і звичайних аргументів:
javascript
function greet(greeting, name, punctuation) {
console.log(`${greeting}, ${name}${punctuation}`);
}
const data = ['Привіт', 'Богдан'];
greet(...data, '!'); // Привіт, Богдан!Різниця між spread і rest:
| Синтаксис | Де використовується | Що робить |
|---|---|---|
... (spread) | під час виклику функції або створення масиву/об'єкта | розкриває масив/об'єкт |
... (rest) | у визначенні функції | збирає аргументи в масив |
Приклад:
javascript
function showArgs(...args) { // rest збирає
console.log(args);
}
const nums = [1, 2, 3];
showArgs(...nums); // spread розкриває -> [1, 2, 3]Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.