Синтаксис Rest всегда создает (или присваивает) переменную, например:
const [itemOne, ...rest] = arr;
// ^^ created ^^^^
Синтаксис распространения приводит только к другому массиву (или объекту) выражение - он не помещает что-нибудь в переменные. Здесь вы используете синтаксис расширения для создания нового массива, состоящего из currentValue
и значений accumulator
.
return [currentValue, ...accumulator];
, как
return [currentValue, accumulator[0], accumulator[1], accumulator[2] /* ... */];
Вы распространение элементов accumulator
в массив, который возвращается.