Переменное число параметров в функции

Получить заранее неопределенное число значений внутри функции можно с помощью объекта arguments и оператора REST.

Объект arguments

Внутри функции доступен объект arguments, который позволяет получить доступ ко всем параметрам, переданным функции. Получить доступ к параметру можно, указав его индекс внутри квадратных скобок. Свойство length позволяет определить количество параметров, переданных функции:

function sum(x, y) {
   console.log(arguments.length);       // 2
   return arguments[0] + arguments[1];
}
console.log( sum(5, 6) );               // 11

Какой в этом смысл? Дело в том, что при использовании объекта arguments можно передать функции больше параметров, чем первоначально объявлено. Например, можно просуммировать сразу несколько чисел, а не только два (листинг 10.4).

Листинг 10.4. Произвольное количество параметров

function sum(x, y) {
   let z = 0;
   for (let i = 0; i < arguments.length; i++) {
      z += arguments[i];
   }
   return z;
}
console.log( sum(5, 6, 7, 20) ); // 38

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов