JavaScript·100 питань

Що таке spread і rest?

Відповідь

Оператори spread і rest в JavaScript записуються однаково у вигляді трьох крапок, але виконують протилежні за змістом завдання залежно від контексту їх застосування. Вони значно спрощують маніпуляції з наборами даних та колекціями.

Оператор spread виконує роль розпакувача, розгортаючи ітеровані об'єкти, такі як масиви чи рядки, в окремі елементи. З його допомогою можна легко об'єднувати масиви, створюючи нові колекції з елементів старих.

Також spread активно застосовується для клонування та доповнення об'єктів новими ключами та значеннями в літеральній формі, замінюючи застарілі методи об'єднання даних.

Оператор rest, навпаки, виконує роль збиральника, який об'єднує безліч розрізнених аргументів у єдиний масив. Це особливо корисно при створенні функцій зі змінною кількістю параметрів.

Коли точна кількість аргументів заздалегідь невідома, їх зручно перехопити через rest-параметр у сигнатурі функції, щоб обробити у вигляді стандартного масиву.

Використовуйте три крапки перед іменем масиву для його розпакування за допомогою spread-оператора.
Застосуйте spread у літералі об'єкта для додавання нових властивостей до існуючих.
Вкажіть три крапки перед іменем параметра у функції для збору аргументів через rest.
Комбінуйте rest при деструктуризації для збору елементів, що залишилися, в окремий масив.

Той самий механізм успішного збору даних застосовується і всередині деструктуризації. Там можна забрати перший елемент масиву в окрему змінну, а решту запакувати в новий масив за допомогою rest-синтаксису.

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем