Using spread operator multiple times in javascript?

前端 未结 3 1344
梦如初夏
梦如初夏 2020-11-27 06:44

Why can\'t spread operator be used multiple times?

let arr = [[[1, 2, 3]]];

console.log(arr); // Array [ Array[1] ]
console.log(...arr); // Array [ Array[3]         


        
3条回答
  •  无人及你
    2020-11-27 07:30

    Why can't spread operator be used multiple times?

    ... is not an operator. (...arr) is not valid JavaScript. ... is only allowed inside array literals and in arguments lists, but those are special forms of the syntax (notice the ... in the production rules below).

    ArrayLiteral

    ArrayLiteral :
      [ Elision_opt ]
      [ ElementList ]
      [ ElementList , Elision_opt ]
    
    ElementList :
      Elision_opt SpreadElement
      ElementList , Elision_opt SpreadElement
    
    SpreadElement:
      ... AssignmentExpression
    

    Arguments

    Arguments :
      ( )
      ( ArgumentList )
    
    ArgumentList :
      AssignmentExpression
      ... AssignmentExpression
      ArgumentList , AssignmentExpression
      ArgumentList , ... AssignmentExpression
    

提交回复
热议问题