Передача аргументов call, apply
function work(a, b) {
alert( a + b );
}
function spy(func) {
return function (...args) {
return func.apply(null, ...args);// c call рботает
}
}
work = spy(work);
work(1, 2);
Второй параметр у apply должен быть массив! ...args ведь является массивом, почему тогда ошибка? Если использовать call - код работает.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
args - массив, а ...args - распаковка массива на отдельные составляющие
let test = [1,2,3];
console.log(test);
console.log(...test);