chiffon.js
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);
    }
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);
    }
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 ) ; }
ECMA-262 13 Statements and Declarations
ECMA - 262 13 Statements and Declarations