code: function() {
        var node = this.startNode(_ArrayExpression);
        var elems = [];
  
        this.expect('[');
  
        while (this.value !== ']') {
          if (this.value === ',') {
            this.next();
            elems[elems.length] = null;
            continue;
          }
  
          if (this.value === '...') {
            elems[elems.length] = this.parseSpreadElement();
          } else {
            elems[elems.length] = this.parseAssignmentExpression(true);
          }
  
          if (this.value !== ']') {
            this.expect(',');
          }
        }
  
        this.expect(']');
  
        node.elements = elems;
        return this.finishNode(node);
      }
docs: ECMA-262 12.2.5 Array Initializer