传播语法无法破坏数组
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);
我是 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);