Как в js вызвать метод rest?

Аватар пользователя Andrey G
Andrey G
01 декабря 2022

Многие функции JavaScript поддерживают произвольное количество аргументов.

Например:

  • Object.assign(target, src1, ..., srcN);
  • Math.max([value1[, value2[, ...]]]);

При работе с готовыми функциями вопросов не возникает. Но как работать с произвольным количеством аргументов при создании собственных функций? На помощь как раз приходит REST - оператор. Обозначается он через символ троеточия "..." и позволяет упаковать неограниченное количество аргументов функции в массив.

const showRest = (...params) => console.log(params);

showRest(3, 5) // => [3, 5]
showRest(4, 5, 'w') // => [4, 5, 'w'] 

const showArg = (a, b, ...params) => {
  console.log(`a -> ${a}`);
  console.log(`b -> ${b}`);
  console.log(params);
};

showArg(3, 5)
// => a-> 3
// => b-> 5
// => ['t', 'q', 'w']
showArg(3, 5, 't', 'q', 'w')
// => a-> 3
// => b-> 5
// => ['t', 'q', 'w']

Оператор Rest (упаковка аргументов)

0 0
Познакомьтесь с основами JavaScript бесплатно