我是Javascript的新手并且很困惑为什么以下内容无效?
var array = [1, 2, 3, 4]
var spread = ...array;
我原以为它会成为1, 2, 3, 4
。相反,它给出了错误消息Unexpected token ...
。任何人都可以向我解释这个吗?
非常感谢你!
答案 0 :(得分:3)
这是正确的方法,但是你没有做到这一点。
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);
答案 1 :(得分:1)
正确的做法是:
var array = [1, 2, 3, 4]
var spread = [...array];
答案 2 :(得分:1)
使用[...iterableObj, '4', 'five', 6];
的语法是:
对于函数调用:
let objClone = { ...obj };
对于数组文字或字符串:
spread
对象文字(ECMAScript 2018中的新内容):
[]
因此,根据语法,对于使用var array = [1, 2, 3, 4]
var spread = [...array];
console.log(spread);
的数组,您缺少方括号{{1}}:
{{1}}