Особенность массива javascript es6 [...data, 0] "оператор распространения"

Я сталкивался с этим в некотором примере кода, и я полностью потерян.

const addCounter = (list) => {
    return [...list, 0];  // This is the bit I am lost on, and I don't know about [...list, 0]
}

Видимо, вышесказанное соответствует следующему:

const addCounter = (list) => {
    return list.concat([0]);
}

Любое предложение или объяснение высоко ценится.

2 ответа

Решение

...list использует синтаксис распространения, чтобы распространить элементы list, Давайте предположим, что список [1, 2, 3], Следовательно [...list, 0] будет выглядеть так:

[1, 2, 3, 0]

Который имеет тот же результат, что и делать list.concat([0]);

Это не особенность массива в ES6, он просто используется для конкатенации массивов. У этого есть другое использование. Узнайте больше о MDN или посмотрите этот вопрос.

...listspreads (выкладывает) все элементы в массиве list,

так [...list, 0] это все элементы списка с 0 в конце

Другие вопросы по тегам