传播语法无法破坏数组

Spread syntax doesn't work to destructive an array

我是 Javascript 的新手,很困惑为什么以下内容不起作用?

var array = [1, 2, 3, 4]
var spread = ...array;

我原以为它会变成 1, 2, 3, 4。相反,它给出了一条错误消息 Unexpected token ...。谁能给我解释一下?

非常感谢!

做你想做的正确方法是:

var array = [1, 2, 3, 4]
var spread = [...array];

这是正确的方法,但是您这样做没有任何收获。

var array = [1, 2, 3, 4]
var spread = [...array];
console.log(spread);

如果你真的想解构那个数组,你需要解构赋值:

var array = [1, 2, 3, 4]
var [one, two, three, four] = array;

console.log(one, two, three, four);

使用spread的语法是:

对于函数调用:

myFunction(...iterableObj);

对于数组文字或字符串:

[...iterableObj, '4', 'five', 6];

对于对象文字(ECMAScript 2018 中的新功能):

let objClone = { ...obj };

因此,根据语法,对于使用 spread 的数组,您缺少方括号 []

var array = [1, 2, 3, 4]
var spread = [...array];
console.log(spread);