Проверяет понимание rest-параметров и особенностей стрелочных функций в JavaScript для работы с переменным числом аргументов.
Стрелочные функции не имеют собственного объекта arguments, поэтому классический приём с ним внутри стрелки не сработает. Вместо этого в ES6 появился rest-параметр: он записывается как ...имя в списке параметров и собирает все оставшиеся аргументы в настоящий массив.
map, reduce, filter.(first, ...rest) => ....undefined.const sum = (...nums) => nums.reduce((acc, n) => acc + n, 0);
const logAll = (prefix, ...items) => {
items.forEach(item => console.log(prefix, item));
};
console.log(sum(1, 2, 3, 4)); // 10
logAll('item:', 'a', 'b', 'c');
// Передача массива как набора аргументов
const values = [5, 10, 15];
console.log(sum(...values)); // 30
Если нужно передать уже существующий массив в функцию с rest-параметром, применяют spread-оператор ... при вызове. Синтаксис одинаковый, но смысл разный: в параметрах — сбор, при вызове — разворачивание.
Итог: для стрелочных функций с переменным числом аргументов всегда используйте rest-параметр, а не arguments — это чище, безопаснее и даёт настоящий массив.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию