freeCodeCamp/guide/russian/javascript/rest-parameters/index.md

37 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Rest Parameters
localeTitle: Параметры останова
---
## Параметры останова
В ES6 синтаксис остального параметра `...` позволяет собирать неопределенное количество аргументов в массив.
Несмотря на то, что они выглядят одинаково, это делает противоположность оператора спреда, который берет каждый элемент из итерации и распространяет их на свои индивидуальные значения.
### Синтаксис
```js
function myFunc(...args) {
console.log(args);
}
myFunc( 1, 2, 3, 4, 5); // [1,2,3,4,5]
```
Вы можете префикс последнего параметра функции `...` когда вы хотите что-то сделать с исходными параметрами, а затем обрабатывать все остальные параметры по-разному.
```js
function convertCurrency(rate, fee, ...amounts) {
return amounts.map(amount => (amount * rate) + fee);
}
convertCurrency(0.89, 2.5, 100, 250, 75, 150, 300); // [ 91.5, 225, 69.25, 136, 269.5 ]
```
The `...` позволяет собирать остальные аргументы, если они есть, в массив.
### Разница между параметрами отдыха и объектом аргументов
`arguments` - это массивный объект, доступный внутри функций, содержащий аргументы, переданные этим функциям. Он называется «подобный массиву», потому что он не имеет всех встроенных методов массива, таких как `.forEach()` и `.map()` .
Остальные параметры - это массив, в который включены все методы массива.