02.ii Arguments object
В теле функции есть специальный идентификатор arguments (неявный объект), который ссылается на объект Arguments, присутствующий в вызове каждой функции. Объект Arguments – это объект, подобный массиву, позволяющий извлекать переданные функции значения по их номерам, а не по именам. JavaScript-функции при помощи arguments могут быть написаны таким образом, чтобы работать с любым количеством аргументов.
Основные свойства:
Элементы массива
argumentsпозиционно соответствуют переданным аргументам в функцию.В нестрогом режиме изменяя значение в
argumentsменяется и значение локальной переменной. В строгом это запрещено.Свойство
arguments.lengthопределяет количество аргументов фактически переданных при вызове функции (стоит отличать от свойстваlengthсамой функции - там это число параметров).Начиная c ES6
argumentsявляется итерируемым.
function foo() {
const obs = merge(arguments);
...
}В ES6 стоит использовать оператор spread вместо arguments. Заметим, что rest — настоящий массив, с методами map, forEach и другими, в отличие от arguments.
function showName(firstName, lastName, ...rest) {
...
}Last updated
Was this helpful?