browser.js |
|
0 |
call-expression-super-no-base.js |
---
esid: prod-OptionalExpression
description: >
should not suppress error if super called on class with no base
info: |
Left-Hand-Side Expressions
OptionalExpression:
SuperCall OptionalChain
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
515 |
call-expression.js |
---
esid: prod-OptionalExpression
description: >
optional chain on call expression
info: |
Left-Hand-Side Expressions
OptionalExpression:
CallExpression OptionalChain
features: [optional-chaining]
--- |
1445 |
early-errors-tail-position-null-op-template-string-esi.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
658 |
early-errors-tail-position-null-op-template-string.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
570 |
early-errors-tail-position-null-optchain-template-string-esi.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
660 |
early-errors-tail-position-null-optchain-template-string.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
572 |
early-errors-tail-position-op-template-string-esi.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
681 |
early-errors-tail-position-op-template-string.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
593 |
early-errors-tail-position-optchain-template-string-esi.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
672 |
early-errors-tail-position-optchain-template-string.js |
---
esid: prod-OptionalExpression
description: >
template string passed to tail position of optional chain
info: |
Static Semantics: Early Errors
OptionalChain:
?.TemplateLiteral
OptionalChain TemplateLiteral
It is a Syntax Error if any code matches this production.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
584 |
eval-optional-call.js |
---
esid: sec-optional-chaining-chain-evaluation
description: optional call invoked on eval function should be indirect eval.
info: |
Runtime Semantics: ChainEvaluation
OptionalChain: ?. Arguments
1. Let thisChain be this OptionalChain.
2. Let tailCall be IsInTailPosition(thisChain).
3. Return ? EvaluateCall(baseValue, baseReference, Arguments, tailCall).
Runtime Semantics: EvaluateCall ( func, ref, arguments, tailPosition )
...
7. Let result be Call(func, thisValue, argList).
...
eval ( x )
...
4. Return ? PerformEval(x, callerRealm, false, false).
Runtime Semantics: PerformEval ( x, callerRealm, strictCaller, direct )
features: [optional-chaining]
--- |
1161 |
iteration-statement-do.js |
---
esid: prod-OptionalExpression
description: >
optional chain in test portion of do while statement
info: |
IterationStatement
do Statement while (OptionalExpression)
features: [optional-chaining]
--- |
470 |
iteration-statement-for-await-of.js |
---
esid: prod-OptionalExpression
description: >
optional chain RHS of for await statement
info: |
IterationStatement
for await (LeftHandSideExpression of AssignmentExpression) Statement
features: [optional-chaining]
flags: [async]
includes: [asyncHelpers.js]
--- |
893 |
iteration-statement-for-in.js |
---
esid: prod-OptionalExpression
description: >
optional chain in test portion of do while statement
info: |
IterationStatement
for (LeftHandSideExpression in Expression) Statement
features: [optional-chaining]
--- |
516 |
iteration-statement-for-of-type-error.js |
---
esid: prod-OptionalExpression
description: >
optional chain returning undefined in RHS of for of statement
info: |
IterationStatement
for (LeftHandSideExpression of Expression) Statement
features: [optional-chaining]
--- |
697 |
iteration-statement-for.js |
---
esid: prod-OptionalExpression
description: >
optional chain in init/test/update of for statement
info: |
IterationStatement
for (Expression; Expression; Expression) Statement
features: [optional-chaining]
--- |
1028 |
iteration-statement-while.js |
---
esid: prod-OptionalExpression
description: >
optional chain in test portion of while statement
info: |
IterationStatement
while (Expression) Statement
features: [optional-chaining]
--- |
452 |
member-expression-async-identifier.js |
---
esid: prod-OptionalExpression
description: >
optional chain on member expression in async context
info: |
Left-Hand-Side Expressions
OptionalExpression
MemberExpression [PrimaryExpression identifier] OptionalChain
features: [optional-chaining]
flags: [async]
includes: [asyncHelpers.js]
--- |
1162 |
member-expression-async-literal.js |
---
esid: prod-OptionalExpression
description: >
optional chain on member expression in async context
info: |
Left-Hand-Side Expressions
OptionalExpression:
MemberExpression [PrimaryExpression literal] OptionalChain
features: [optional-chaining]
flags: [async]
includes: [asyncHelpers.js]
--- |
611 |
member-expression-async-this.js |
---
esid: prod-OptionalExpression
description: >
optional chain on member expression in async context
info: |
Left-Hand-Side Expressions
OptionalExpression:
MemberExpression [PrimaryExpression this] OptionalChain
features: [optional-chaining]
flags: [async]
--- |
586 |
member-expression.js |
---
esid: prod-OptionalExpression
description: >
optional chain on member expression
info: |
Left-Hand-Side Expressions
OptionalExpression:
MemberExpression OptionalChain
features: [optional-chaining]
--- |
2556 |
new-target-optional-call.js |
---
esid: prod-OptionalExpression
description: >
optional call invoked on new.target should be equivalent to call
info: |
OptionalExpression
MemberExpression OptionalChain
NewTarget OptionalChain
features: [optional-chaining]
--- |
797 |
optional-call-preserves-this.js |
---
esid: sec-optional-chaining-chain-evaluation
description: >
optional call must preserve this context, as with a non-optional call
info: |
OptionalChain : ?. Arguments
1. Let thisChain be this OptionalChain.
2. Let tailCall be IsInTailPosition(thisChain).
3. Return ? EvaluateCall(baseValue, baseReference, Arguments, tailCall).
features: [optional-chaining]
--- |
828 |
optional-chain-async-optional-chain-square-brackets.js |
---
esid: prod-OptionalExpression
description: >
optional chain expansions in an async context
info: |
Left-Hand-Side Expressions
OptionalExpression
MemberExpression [PrimaryExpression Identifier] OptionalChain
OptionalChain OptionalChain ?.[Expression]
features: [optional-chaining]
flags: [async]
includes: [asyncHelpers.js]
--- |
910 |
optional-chain-async-square-brackets.js |
---
esid: prod-OptionalExpression
description: >
optional chain expansions in an async context
info: |
Left-Hand-Side Expressions
OptionalExpression
MemberExpression [PrimaryExpression Identifier] OptionalChain
OptionalChain ?.[Expression]
features: [optional-chaining]
flags: [async]
includes: [asyncHelpers.js]
--- |
817 |
optional-chain-expression-optional-expression.js |
---
esid: prod-OptionalExpression
description: >
optional chain bracket notation containing optional expresion
info: |
OptionalChain:
?. [OptionalExpression]
features: [optional-chaining]
--- |
545 |
optional-chain-prod-arguments.js |
---
esid: prod-OptionalExpression
description: >
Productions for ?. Arguments
info: |
OptionalChain[Yield, Await]:
?. Arguments
features: [optional-chaining]
--- |
550 |
optional-chain-prod-expression.js |
---
esid: prod-OptionalExpression
description: >
Productions for ?. [Expression]
info: |
OptionalChain:
?.[ Expression ]
features: [optional-chaining]
--- |
1147 |
optional-chain-prod-identifiername.js |
---
esid: prod-OptionalExpression
description: >
Productions for ?. IdentifierName
info: |
OptionalChain[Yield, Await]:
?. IdentifierName
features: [optional-chaining]
--- |
879 |
optional-chain.js |
---
esid: prod-OptionalExpression
description: >
various optional chain expansions
info: |
OptionalChain[Yield, Await]:
?.[Expression]
?.IdentifierName
?.Arguments
?.TemplateLiteral
OptionalChain [Expression]
OptionalChain .IdentifierName
OptionalChain Arguments[?Yield, ?Await]
OptionalChain TemplateLiteral
features: [optional-chaining]
--- |
1172 |
optional-expression.js |
---
esid: prod-OptionalExpression
description: >
optional chain on recursive optional expression
info: |
Left-Hand-Side Expressions
OptionalExpression:
OptionalExpression OptionalChain
features: [optional-chaining]
--- |
666 |
punctuator-decimal-lookahead.js |
---
esid: prod-OptionalExpression
description: >
ternary operation with decimal does not evaluate as optional chain
info: |
Punctuators
OptionalChainingPunctuator::
?.[lookahead ∉ DecimalDigit]
features: [optional-chaining]
--- |
459 |
runtime-semantics-evaluation.js |
---
esid: prod-OptionalExpression
description: >
accessing optional value on undefined or null returns undefined.
info: |
If baseValue is undefined or null, then
Return undefined.
features: [optional-chaining]
--- |
571 |
shell.js |
---
description: |
A collection of assertion and wrapper functions for testing asynchronous built-ins.
defines: [asyncTest, assert.throwsAsync]
--- |
3603 |
short-circuiting.js |
---
esid: prod-OptionalExpression
description: >
demonstrate syntax-based short-circuiting.
info: |
If the expression on the LHS of ?. evaluates to null/undefined, the RHS is
not evaluated
features: [optional-chaining]
--- |
597 |
static-semantics-simple-assignment.js |
---
esid: prod-OptionalExpression
description: >
an optional expression cannot be target of assignment
info: |
Static Semantics: IsValidSimpleAssignmentTarget
LeftHandSideExpression:
OptionalExpression
Return false.
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
523 |
super-property-optional-call.js |
---
esid: prod-OptionalExpression
description: >
optional call invoked on super method should be equivalent to call
info: |
OptionalExpression
MemberExpression OptionalChain
SuperProperty OptionalChain
features: [optional-chaining]
--- |
679 |
update-expression-postfix.js |
---
esid: prod-OptionalExpression
description: >
optional chaining is forbidden in write contexts
info: |
UpdateExpression[Yield, Await]:
LeftHandSideExpression++
LeftHandSideExpression--
++UnaryExpression
--UnaryExpression
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
553 |
update-expression-prefix.js |
---
esid: prod-OptionalExpression
description: >
optional chaining is forbidden in write contexts
info: |
UpdateExpression[Yield, Await]:
LeftHandSideExpression++
LeftHandSideExpression--
++UnaryExpression
--UnaryExpression
features: [optional-chaining]
negative:
phase: parse
type: SyntaxError
--- |
545 |