public/swaggerui/swagger-ui.js
function parseAssignmentExpression() {
        var token, expr, right, list, startToken;

        startToken = lookahead;
        token = lookahead;

        if (!state.allowYield && matchKeyword('yield')) {
            return parseYieldExpression();
        }

        expr = parseConditionalExpression();

        if (expr.type === PlaceHolders.ArrowParameterPlaceHolder || match('=>')) {
            isAssignmentTarget = isBindingElement = false;
            list = reinterpretAsCoverFormalsList(expr);

            if (list) {
                firstCoverInitializedNameError = null;
                return parseArrowFunctionExpression(list, new WrappingNode(startToken));
            }

            return expr;
        }

        if (matchAssign()) {
            if (!isAssignmentTarget) {
                tolerateError(Messages.InvalidLHSInAssignment);
            }

            // ECMA-262 12.1.1
            if (strict && expr.type === Syntax.Identifier) {
                if (isRestrictedWord(expr.name)) {
                    tolerateUnexpectedToken(token, Messages.StrictLHSAssignment);
                }
                if (isStrictModeReservedWord(expr.name)) {
                    tolerateUnexpectedToken(token, Messages.StrictReservedWord);
                }
            }

            if (!match('=')) {
                isAssignmentTarget = isBindingElement = false;
            } else {
                reinterpretExpressionAsPattern(expr);
            }

            token = lex();
            right = isolateCoverGrammar(parseAssignmentExpression);
            expr = new WrappingNode(startToken).finishAssignmentExpression(token.value, expr, right);
            firstCoverInitializedNameError = null;
        }

        return expr;
    }
function parseAssignmentExpression() {
        var token, expr, right, list, startToken;

        startToken = lookahead;
        token = lookahead;

        if (!state.allowYield && matchKeyword('yield')) {
            return parseYieldExpression();
        }

        expr = parseConditionalExpression();

        if (expr.type === PlaceHolders.ArrowParameterPlaceHolder || match('=>')) {
            isAssignmentTarget = isBindingElement = false;
            list = reinterpretAsCoverFormalsList(expr);

            if (list) {
                firstCoverInitializedNameError = null;
                return parseArrowFunctionExpression(list, new WrappingNode(startToken));
            }

            return expr;
        }

        if (matchAssign()) {
            if (!isAssignmentTarget) {
                tolerateError(Messages.InvalidLHSInAssignment);
            }

            // ECMA-262 12.1.1
            if (strict && expr.type === Syntax.Identifier) {
                if (isRestrictedWord(expr.name)) {
                    tolerateUnexpectedToken(token, Messages.StrictLHSAssignment);
                }
                if (isStrictModeReservedWord(expr.name)) {
                    tolerateUnexpectedToken(token, Messages.StrictReservedWord);
                }
            }

            if (!match('=')) {
                isAssignmentTarget = isBindingElement = false;
            } else {
                reinterpretExpressionAsPattern(expr);
            }

            token = lex();
            right = isolateCoverGrammar(parseAssignmentExpression);
            expr = new WrappingNode(startToken).finishAssignmentExpression(token.value, expr, right);
            firstCoverInitializedNameError = null;
        }

        return expr;
    }
function parseAssignmentExpression ( ) { var token , expr , right , list , startToken ; startToken = lookahead ; token = lookahead ; if ( ! state . allowYield && matchKeyword ( 'yield' ) ) { return parseYieldExpression ( ) ; } expr = parseConditionalExpression ( ) ; if ( expr . type === PlaceHolders . ArrowParameterPlaceHolder || match ( '=>' ) ) { isAssignmentTarget = isBindingElement = false ; list = reinterpretAsCoverFormalsList ( expr ) ; if ( list ) { firstCoverInitializedNameError = null ; return parseArrowFunctionExpression ( list , new WrappingNode ( startToken ) ) ; } return expr ; } if ( matchAssign ( ) ) { if ( ! isAssignmentTarget ) { tolerateError ( Messages . InvalidLHSInAssignment ) ; } // ECMA-262 12.1.1 if ( strict && expr . type === Syntax . Identifier ) { if ( isRestrictedWord ( expr . name ) ) { tolerateUnexpectedToken ( token , Messages . StrictLHSAssignment ) ; } if ( isStrictModeReservedWord ( expr . name ) ) { tolerateUnexpectedToken ( token , Messages . StrictReservedWord ) ; } } if ( ! match ( '=' ) ) { isAssignmentTarget = isBindingElement = false ; } else { reinterpretExpressionAsPattern ( expr ) ; } token = lex ( ) ; right = isolateCoverGrammar ( parseAssignmentExpression ) ; expr = new WrappingNode ( startToken ) . finishAssignmentExpression ( token . value , expr , right ) ; firstCoverInitializedNameError = null ; } return expr ; }
ECMA-262 12.14 Assignment Operators
ECMA - 262 12 . 14 Assignment Operators