code: function() {
        var node = this.startNode(_IfStatement);
        this.expect('if');
        this.expect('(');
  
        var expr = this.parseExpression(true);
        this.expect(')');
        var consequent = this.parseStatement();
        var alternate = null;
  
        if (this.value === 'else') {
          this.next();
          alternate = this.parseStatement();
        }
  
        node.test = expr;
        node.consequent = consequent;
        node.alternate = alternate;
        return this.finishNode(node);
      }
docs: ECMA-262 13 Statements and Declarations