Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавляет ответ на вопрос про отличия между rest и spread #5205

Merged
merged 7 commits into from
Apr 22, 2024
29 changes: 29 additions & 0 deletions interviews/rest-spread/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,32 @@ related:
---

В чём отличия `rest` и `spread` операторов?
Rest и spread операторы являются частью синтаксиса JavaScript, и они выполняют разные функции, хотя и могут быть похожи в некоторых случаях. Давайте рассмотрим их отличия:

1. **Rest оператор (...)**:
- **Использование в функциях**: Rest оператор используется для сбора оставшихся аргументов функции в массив. Например:
```javascript
function sum(...args) {
return args.reduce((total, num) => total + num, 0);
}

console.log(sum(1, 2, 3, 4)); // Вывод: 10
```
- **Сбор неизвестного количества аргументов**: Rest оператор позволяет обрабатывать неизвестное количество аргументов, переданных в функцию.

2. **Spread оператор (...)**:
- **Распространение массивов**: Spread оператор используется для распространения элементов массива или свойств объекта.
```javascript
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combinedArray = [...arr1, ...arr2];
console.log(combinedArray); // Вывод: [1, 2, 3, 4, 5, 6]
```
- **Копирование массивов и объектов**: Spread оператор также используется для создания копий массивов или объектов.
```javascript
const originalArray = [1, 2, 3];
const copiedArray = [...originalArray];
console.log(copiedArray); // Вывод: [1, 2, 3]
```

Таким образом, основное отличие между rest и spread операторами заключается в их применении: rest используется для сбора аргументов в функции, тогда как spread используется для распространения элементов массивов или объектов.
Loading