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

Bru*_*uce 10 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]
}
Run Code Online (Sandbox Code Playgroud)

显然以上等于以下内容:

const addCounter = (list) => {
    return list.concat([0]);
}
Run Code Online (Sandbox Code Playgroud)

任何建议或解释都非常感谢.

Mer*_*ott 18

...list正在使用扩展语法来传播元素list.我们假设列表是[1, 2, 3].因此[...list, 0]成为:

[1, 2, 3, 0]
Run Code Online (Sandbox Code Playgroud)

这与做的结果相同 list.concat([0]);

这不是ES6中数组的一个特性,它只是用于数组连接.它还有其他用途.阅读有关MDN的更多信息,或查看此问题.

  • 它不是运营商(也不能是运营商).这只是语法. (2认同)