Ответ 1
Функции стрелок не имеют этого, так как объект массива arguments
для начала был обходным путем, который ES6 решил с помощью параметра rest
:
var bar = (...arguments) => console.log(arguments);
arguments
ни в коем случае не зарезервированы здесь, но просто выбраны. Вы можете называть это как хотите, и это можно комбинировать с обычными параметрами:
var test = (one, two, ...rest) => [one, two, rest];
Вы даже можете пойти другим путем, проиллюстрированным этой причудливой заявкой:
var fapply = (fun, args) => fun(...args);