mad*_*ox2 18 javascript ecmascript-6 spread-syntax
为什么不能多次使用传播运算符?
let arr = [[[1, 2, 3]]];
console.log(arr); // Array [ Array[1] ]
console.log(...arr); // Array [ Array[3] ]
console.log(...(...arr));
// SyntaxError: expected '=>' after argument list, got ')'
Run Code Online (Sandbox Code Playgroud)
我希望:
console.log(...(...arr)); // Array [ 1, 2, 3 ]
Run Code Online (Sandbox Code Playgroud)
Fel*_*ing 17
为什么不能多次使用传播运算符?
...不是运营商.(...arr)是无效的JavaScript....只允许在数组文字和参数列表中,但这些是语法的特殊形式(请注意...下面的生产规则).
ArrayLiteral :
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
ElementList :
Elision_opt SpreadElement
ElementList , Elision_opt SpreadElement
SpreadElement:
... AssignmentExpression
Run Code Online (Sandbox Code Playgroud)
Arguments :
( )
( ArgumentList )
ArgumentList :
AssignmentExpression
... AssignmentExpression
ArgumentList , AssignmentExpression
ArgumentList , ... AssignmentExpression
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |