| cptn-else-false-abrupt-empty.js |
---
esid: sec-if-statement-runtime-semantics-evaluation
description: >
Completion value when expression is false with an `else` clause and body
returns an empty abrupt completion
info: |
IfStatement : if ( Expression ) Statement else Statement
3. If exprValue is true, then
[...]
4. Else,
a. Let stmtCompletion be the result of evaluating the second Statement.
5. Return Completion(UpdateEmpty(stmtCompletion, undefined)).
--- |
1437 |
- |
| cptn-else-false-nrml.js |
---
es6id: 13.6.7
description: >
Completion value when expression is false with an `else` clause and body
returns a normal completion
info: |
IfStatement : if ( Expression ) Statement else Statement
4. If exprValue is true, then
[...]
5. Else,
a. Let stmtCompletion be the result of evaluating the second Statement.
6. ReturnIfAbrupt(stmtCompletion).
7. If stmtCompletion.[[value]] is not empty, return stmtCompletion.
8. Return NormalCompletion(undefined).
--- |
908 |
- |
| cptn-else-true-abrupt-empty.js |
---
esid: sec-if-statement-runtime-semantics-evaluation
description: >
Completion value when expression is true with an `else` clause and body
returns an abrupt completion
info: |
IfStatement : if ( Expression ) Statement else Statement
3. If exprValue is true, then
a. Let stmtCompletion be the result of evaluating the first Statement.
4. Else,
[...]
5. Return Completion(UpdateEmpty(stmtCompletion, undefined)).
--- |
1410 |
- |
| cptn-else-true-nrml.js |
---
es6id: 13.6.7
description: >
Completion value when expression is true with an `else` clause and body
returns a normal completion
info: |
IfStatement : if ( Expression ) Statement else Statement
4. If exprValue is true, then
a. Let stmtCompletion be the result of evaluating the first Statement.
5. Else,
[...]
6. ReturnIfAbrupt(stmtCompletion).
7. If stmtCompletion.[[value]] is not empty, return stmtCompletion.
8. Return NormalCompletion(undefined).
--- |
902 |
- |
| cptn-no-else-false.js |
---
es6id: 13.6.7
description: Completion value when expression is false without an `else` clause
info: |
IfStatement : if ( Expression ) Statement
[...]
4. If exprValue is false, then
a. Return NormalCompletion(undefined).
--- |
506 |
- |
| cptn-no-else-true-abrupt-empty.js |
---
esid: sec-if-statement-runtime-semantics-evaluation
description: >
Completion value when expression is true without an `else` clause and body
returns an empty abrupt completion
info: |
IfStatement : if ( Expression ) Statement
3. If exprValue is false, then
[...]
4. Else,
a. Let stmtCompletion be the result of evaluating Statement.
b. Return Completion(UpdateEmpty(stmtCompletion, undefined)).
--- |
964 |
- |
| cptn-no-else-true-nrml.js |
---
es6id: 13.6.7
description: >
Completion value when expression is true without an `else` clause and body
returns a normal completion.
info: |
IfStatement : if ( Expression ) Statement
[...]
4. If exprValue is false, then
[...]
5. Else,
a. Let stmtCompletion be the result of evaluating Statement.
b. ReturnIfAbrupt(stmtCompletion).
c. If stmtCompletion.[[value]] is not empty, return stmtCompletion.
d. Return NormalCompletion(undefined).
--- |
754 |
- |
| if-async-fun-else-async-fun.js |
---
esid: sec-if-statement
description: >
AsyncFunctionDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-functions]
--- |
615 |
- |
| if-async-fun-else-stmt.js |
---
esid: sec-if-statement
description: >
AsyncFunctionDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-functions]
--- |
594 |
- |
| if-async-fun-no-else.js |
---
esid: sec-if-statement
description: >
AsyncFunctionDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-functions]
--- |
587 |
- |
| if-async-gen-else-async-gen.js |
---
esid: sec-if-statement
description: >
AsyncGeneratorDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-iteration]
--- |
618 |
- |
| if-async-gen-else-stmt.js |
---
esid: sec-if-statement
description: >
AsyncGeneratorDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-iteration]
--- |
596 |
- |
| if-async-gen-no-else.js |
---
esid: sec-if-statement
description: >
AsyncGeneratorDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-iteration]
--- |
589 |
- |
| if-cls-else-cls.js |
---
description: Class declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
392 |
- |
| if-cls-else-stmt.js |
---
description: Class declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
383 |
- |
| if-cls-no-else.js |
---
description: Class declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
376 |
- |
| if-const-else-const.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
412 |
- |
| if-const-else-stmt.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
398 |
- |
| if-const-no-else.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
391 |
- |
| if-decl-else-decl-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement with a declaration in both statement positions in the global scope)
es6id: B.3.4
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
The above rules are only applied when parsing code that is not strict mode code.
--- |
1031 |
- |
| if-decl-else-stmt-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the first statement position in the global scope)
es6id: B.3.4
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
The above rules are only applied when parsing code that is not strict mode code.
--- |
1020 |
- |
| if-decl-no-else-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement without an else clause in the global scope)
es6id: B.3.4
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
The above rules are only applied when parsing code that is not strict mode code.
--- |
985 |
- |
| if-fun-else-fun-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement with a declaration in both statement positions in the global scope)
esid: sec-if-statement
es6id: 13.6
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
The above rules are only applied when parsing code that is not strict mode code.
--- |
1047 |
- |
| if-fun-else-stmt-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the first statement position in the global scope)
esid: sec-if-statement
es6id: 13.6
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
The above rules are only applied when parsing code that is not strict mode code.
--- |
1036 |
- |
| if-fun-no-else-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement without an else clause in the global scope)
esid: sec-if-statement
es6id: 13.6
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
The above rules are only applied when parsing code that is not strict mode code.
--- |
1001 |
- |
| if-gen-else-gen.js |
---
description: Generator declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
434 |
- |
| if-gen-else-stmt.js |
---
description: Generator declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
418 |
- |
| if-gen-no-else.js |
---
description: Generator declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
411 |
- |
| if-let-else-let.js |
---
description: Lexical declaration (let) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
392 |
- |
| if-let-else-stmt.js |
---
description: Lexical declaration (let) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
387 |
- |
| if-let-no-else.js |
---
description: Lexical declaration (let) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
380 |
- |
| if-stmt-else-async-fun.js |
---
esid: sec-if-statement
description: >
AsyncFunctionDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-functions]
--- |
595 |
- |
| if-stmt-else-async-gen.js |
---
esid: sec-if-statement
description: >
AsyncGeneratorDeclaration is not allowed in statement position
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
features: [async-iteration]
--- |
597 |
- |
| if-stmt-else-cls.js |
---
description: Class declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
384 |
- |
| if-stmt-else-const.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
399 |
- |
| if-stmt-else-decl-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the second statement position in the global scope)
es6id: B.3.4
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
B.3.3.2 Changes to GlobalDeclarationInstantiation
1. 1. Let strict be IsStrict of script
2. If strict is *false*, then
[...]
--- |
1086 |
- |
| if-stmt-else-fun-strict.js |
---
description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the second statement position in the global scope)
esid: sec-if-statement
es6id: 13.6
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
info: |
The following rules for IfStatement augment those in 13.6:
IfStatement[Yield, Return]:
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield]
if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
B.3.3.2 Changes to GlobalDeclarationInstantiation
1. 1. Let strict be IsStrict of script
2. If strict is *false*, then
[...]
--- |
1102 |
- |
| if-stmt-else-gen.js |
---
description: Generator declaration not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
419 |
- |
| if-stmt-else-let.js |
---
description: Lexical declaration (let) not allowed in statement position
esid: sec-if-statement
es6id: 13.6
negative:
phase: parse
type: SyntaxError
--- |
388 |
- |
| labelled-fn-stmt-first.js |
---
esid: sec-if-statement-static-semantics-early-errors
es6id: 13.6.1
description: >
A labelled function declaration is never permitted in the first of two
Statement positions
info: |
IfStatement :
if ( Expression ) Statement else Statement
if ( Expression ) Statement
- It is a Syntax Error if IsLabelledFunction(Statement) is true.
NOTE It is only necessary to apply this rule if the extension specified in
B.3.2 is implemented.
In the absence of Annex B.3.2, a SyntaxError should be produced due to the
labelled function declaration itself.
negative:
phase: parse
type: SyntaxError
--- |
885 |
- |
| labelled-fn-stmt-lone.js |
---
esid: sec-if-statement-static-semantics-early-errors
es6id: 13.6.1
description: >
A labelled function declaration is never permitted in the sole Statement
position
info: |
IfStatement :
if ( Expression ) Statement else Statement
if ( Expression ) Statement
- It is a Syntax Error if IsLabelledFunction(Statement) is true.
NOTE It is only necessary to apply this rule if the extension specified in
B.3.2 is implemented.
In the absence of Annex B.3.2, a SyntaxError should be produced due to the
labelled function declaration itself.
negative:
phase: parse
type: SyntaxError
--- |
869 |
- |
| labelled-fn-stmt-second.js |
---
esid: sec-if-statement-static-semantics-early-errors
es6id: 13.6.1
description: >
A labelled function declaration is never permitted in the second of two
Statement positions
info: |
IfStatement :
if ( Expression ) Statement else Statement
if ( Expression ) Statement
- It is a Syntax Error if IsLabelledFunction(Statement) is true.
NOTE It is only necessary to apply this rule if the extension specified in
B.3.2 is implemented.
In the absence of Annex B.3.2, a SyntaxError should be produced due to the
labelled function declaration itself.
negative:
phase: parse
type: SyntaxError
--- |
885 |
- |
| let-array-with-newline.js |
---
esid: sec-if-statement
description: >
ExpressionStatement has a lookahead restriction for `let [`.
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
negative:
phase: parse
type: SyntaxError
flags: [noStrict]
--- |
566 |
- |
| let-block-with-newline.js |
---
esid: sec-if-statement
description: >
ExpressionStatement doesn't have a lookahead restriction for `let {`.
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
flags: [noStrict]
--- |
472 |
- |
| let-identifier-with-newline.js |
---
esid: sec-if-statement
description: >
ExpressionStatement doesn't have a lookahead restriction for `let <binding-identifier>`.
info: |
ExpressionStatement[Yield, Await] :
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression[+In, ?Yield, ?Await] ;
flags: [noStrict]
--- |
495 |
- |
| S12.5_A1.1_T1.js |
---
info: |
0, null, undefined, false, empty string, NaN in expression is evaluated
to false
es5id: 12.5_A1.1_T1
description: Using "if" without "else" construction
--- |
1768 |
- |
| S12.5_A1.1_T2.js |
---
info: |
0, null, undefined, false, empty string, NaN in expression is evaluated
to false
es5id: 12.5_A1.1_T2
description: Using "if/else" construction
--- |
2168 |
- |
| S12.5_A1.2_T1.js |
---
info: |
1, true, non-empty string and others in expression is evaluated to true
when using operator "new"
es5id: 12.5_A1.2_T1
description: Using "if" without "else" construction
--- |
2659 |
- |
| S12.5_A1.2_T2.js |
---
info: |
1, true, non-empty string and others in expression is evaluated to true
when using operator "new"
es5id: 12.5_A1.2_T2
description: Using "if/else" construction
--- |
3261 |
- |
| S12.5_A1_T1.js |
---
info: 1, true, non-empty string in expression is evaluated to true
es5id: 12.5_A1_T1
description: Using "if" without "else" construction
--- |
1232 |
- |
| S12.5_A1_T2.js |
---
info: 1, true, non-empty string in expression is evaluated to true
es5id: 12.5_A1_T2
description: Using "if/else" construction
--- |
1499 |
- |
| S12.5_A2.js |
---
info: In the "if" Statement eval in Expression is admitted
es5id: 12.5_A2
description: Checking by using eval "eval("true")"
--- |
375 |
- |
| S12.5_A3.js |
---
info: |
When the production "IfStatement: if ( Expression ) Statement else
Statement" is evaluated, Expression is evaluated first
es5id: 12.5_A3
description: The Expression is "(function(){throw 1})()"
--- |
1003 |
- |
| S12.5_A4.js |
---
info: |
When the production "IfStatement: if ( Expression ) Statement else
Statement" is evaluated, Statement(s) is(are) evaluated second
es5id: 12.5_A4
description: The first statement is "(function(){throw "instatement"})()"
--- |
1146 |
- |
| S12.5_A5.js |
---
info: |
FunctionDeclaration inside the "if" Expression is evaluated as true and
function will not be declarated
es5id: 12.5_A5
description: >
The "if" Expression is "function __func(){throw
"FunctionExpression";}"
--- |
1337 |
- |
| S12.5_A6_T1.js |
---
info: In the If statement expression must be enclosed in braces
es5id: 12.5_A6_T1
description: Checking if execution of "if true" fails
negative:
phase: parse
type: SyntaxError
--- |
566 |
- |
| S12.5_A6_T2.js |
---
info: In the If statement expression must be enclosed in braces
es5id: 12.5_A6_T2
description: Checking if execution of "if false" fails
negative:
phase: parse
type: SyntaxError
--- |
568 |
- |
| S12.5_A7.js |
---
info: |
In the "if" statement empty statement is allowed and is evaluated to
"undefined"
es5id: 12.5_A7
description: Checking by using eval "eval("if(1);"))"
--- |
748 |
- |
| S12.5_A8.js |
---
info: In the "if" Statement empty expression is not allowed
es5id: 12.5_A8
description: Checking if execution of "if()" fails
negative:
phase: parse
type: SyntaxError
--- |
553 |
- |
| S12.5_A10_T1.js |
---
info: Function expession inside the "if" expression is allowed
es5id: 12.5_A10_T1
description: >
Using function expession(function __func(){return 0;}) inside the
"if" expression
--- |
629 |
- |
| S12.5_A10_T2.js |
---
info: Function expession inside the "if" expression is allowed
es5id: 12.5_A10_T2
description: >
Using function expession "function __func(){return 0;}()" within
"if" expression
--- |
628 |
- |
| S12.5_A11.js |
---
info: "{} within the \"if\" expression is not allowed"
es5id: 12.5_A11
description: Checking if execution of "if({1})" fails
negative:
phase: parse
type: SyntaxError
--- |
585 |
- |
| S12.5_A12_T1.js |
---
info: Embedded "if/else" constructions are allowed
es5id: 12.5_A12_T1
description: Using embedded "if/else" into "if/else" constructions
--- |
1662 |
- |
| S12.5_A12_T2.js |
---
info: Embedded "if/else" constructions are allowed
es5id: 12.5_A12_T2
description: Using embedded "if" into "if/else" constructions
--- |
1067 |
- |
| S12.5_A12_T3.js |
---
info: Embedded "if/else" constructions are allowed
es5id: 12.5_A12_T3
description: Using embedded "if/else" into "if" without "else" constructions
--- |
1013 |
- |
| S12.5_A12_T4.js |
---
info: Embedded "if/else" constructions are allowed
es5id: 12.5_A12_T4
description: Using embedded "if" into "if" constructions
--- |
798 |
- |
| tco-else-body.js |
---
description: Statement within statement is a candidate for tail-call optimization.
esid: sec-static-semantics-hascallintailposition
flags: [onlyStrict]
features: [tail-call-optimization]
includes: [tcoHelper.js]
--- |
547 |
- |
| tco-if-body.js |
---
description: Statement within statement is a candidate for tail-call optimization.
esid: sec-static-semantics-hascallintailposition
flags: [onlyStrict]
features: [tail-call-optimization]
includes: [tcoHelper.js]
--- |
537 |
- |