Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «spread під час виклику функції». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Оператор **spread (**`...`**)** під час **виклику функції** *розкриває (розгортає)* масив (або інший ітерований об'єкт) в **окремі аргументи** функції. **Ключове:** spread розкриває масив/об'єкт при виклику функції або створенні масиву/об'єкта, а rest, навпаки, збирає аргументи у визначенні функції в масив.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняОператор **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] ```Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.