javascript es6数组功能[...数据,0]“传播运算符”

时间:2015-11-24 09:59:38

标签: javascript ecmascript-6

我在一些示例代码中遇到了这个问题,我完全迷失了。

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 个答案:

答案 0 :(得分:15)

...list正在使用spread syntax来传播list的元素。我们假设列表是[1, 2, 3]。因此[...list, 0]变为:

[1, 2, 3, 0]

与执行list.concat([0]);

的结果相同

这不是ES6中数组的一个特性,它只是用于数组连接。它还有其他用途。阅读更多on MDN,或查看this question

答案 1 :(得分:1)

...list spread s(列出)数组list中的所有元素。

所以[...list, 0]是列表的所有元素,末尾为0