| 12.14-3.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-3
description: >
catch doesn't change declaration scope - var declaration are
visible outside when name different from catch parameter
--- |
854 |
- |
| 12.14-4.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-4
description: catch introduces scope - block-local vars must shadow outer vars
--- |
767 |
- |
| 12.14-6.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-6
description: >
catch introduces scope - block-local function expression must
shadow outer function expression
--- |
848 |
- |
| 12.14-7.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-7
description: catch introduces scope - scope removed when exiting catch block
--- |
1081 |
- |
| 12.14-8.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-8
description: >
catch introduces scope - scope removed when exiting catch block
(properties)
--- |
786 |
- |
| 12.14-9.js |
---
es5id: 12.14-9
description: catch introduces scope - name lookup finds outer variable
--- |
439 |
- |
| 12.14-10.js |
---
es5id: 12.14-10
description: catch introduces scope - name lookup finds function parameter
--- |
435 |
- |
| 12.14-11.js |
---
es5id: 12.14-11
description: catch introduces scope - name lookup finds inner variable
--- |
443 |
- |
| 12.14-12.js |
---
es5id: 12.14-12
description: catch introduces scope - name lookup finds property
--- |
424 |
- |
| 12.14-13.js |
---
es5id: 12.14-13
description: catch introduces scope - updates are based on scope
flags: [noStrict]
--- |
827 |
- |
| 12.14-14.js |
---
es5id: 12.14-14
description: >
Exception object is a function, when an exception parameter is
called as a function in catch block, global object is passed as
the this value
flags: [noStrict]
--- |
647 |
- |
| 12.14-15.js |
---
es5id: 12.14-15
description: >
Exception object is a function which is a property of an object,
when an exception parameter is called as a function in catch
block, global object is passed as the this value
flags: [noStrict]
--- |
723 |
- |
| 12.14-16.js |
---
es5id: 12.14-16
description: >
Exception object is a function which update in catch block, when
an exception parameter is called as a function in catch block,
global object is passed as the this value
flags: [noStrict]
--- |
826 |
- |
| catch-parameter-boundnames-restriction-arguments-eval-throws.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
flags: [onlyStrict]
--- |
460 |
- |
| catch-parameter-boundnames-restriction-arguments-negative-early.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
510 |
- |
| catch-parameter-boundnames-restriction-eval-eval-throws.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
flags: [onlyStrict]
--- |
455 |
- |
| catch-parameter-boundnames-restriction-eval-negative-early.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
505 |
- |
| cptn-catch-empty-break.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from catch block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch
...
2. If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with parameter B.[[Value]].
...
4. Return Completion(UpdateEmpty(C, undefined)).
--- |
774 |
- |
| cptn-catch-empty-continue.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from catch block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch
...
2. If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with parameter B.[[Value]].
...
4. Return Completion(UpdateEmpty(C, undefined)).
--- |
777 |
- |
| cptn-catch-finally-empty-break.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch Finally
...
4. Let F be the result of evaluating Finally.
...
6. Return Completion(UpdateEmpty(F, undefined)).
--- |
747 |
- |
| cptn-catch-finally-empty-continue.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch Finally
...
4. Let F be the result of evaluating Finally.
...
6. Return Completion(UpdateEmpty(F, undefined)).
--- |
750 |
- |
| cptn-catch.js |
---
es6id: 13.15.8
description: Completion value from `catch` clause of a try..catch statement
info: |
TryStatement : try Block Catch
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
a. Let C be CatchClauseEvaluation of Catch with parameter B.[[value]].
3. Else B.[[type]] is not throw,
[...]
4. If C.[[type]] is return, or C.[[type]] is throw, return Completion(C).
5. If C.[[value]] is not empty, return Completion(C).
6. Return Completion{[[type]]: C.[[type]], [[value]]: undefined,
[[target]]: C.[[target]]}.
13.15.7 Runtime Semantics: CatchClauseEvaluation
Catch : catch ( CatchParameter ) Block
[...]
7. Let B be the result of evaluating Block.
8. Set the running execution context’s LexicalEnvironment to oldEnv.
9. Return Completion(B).
--- |
1147 |
- |
| cptn-finally-empty-break.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Finally
...
2. Let F be the result of evaluating Finally.
...
4. Return Completion(UpdateEmpty(F, undefined)).
--- |
714 |
- |
| cptn-finally-empty-continue.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Finally
...
2. Let F be the result of evaluating Finally.
...
4. Return Completion(UpdateEmpty(F, undefined)).
--- |
717 |
- |
| cptn-finally-from-catch.js |
---
es6id: 13.15.8
description: >
Completion value from `finally` clause of a try..catch..finally statement
(following execution of `catch` block)
info: |
TryStatement : try Block Catch Finally
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
a. Let C be CatchClauseEvaluation of Catch with parameter B.[[value]].
[...]
4. Let F be the result of evaluating Finally.
5. If F.[[type]] is normal, let F be C.
6. If F.[[type]] is return, or F.[[type]] is throw, return Completion(F).
7. If F.[[value]] is not empty, return NormalCompletion(F.[[value]]).
8. Return Completion{[[type]]: F.[[type]], [[value]]: undefined,
[[target]]: F.[[target]]}.
13.15.7 Runtime Semantics: CatchClauseEvaluation
Catch : catch ( CatchParameter ) Block
[...]
7. Let B be the result of evaluating Block.
8. Set the running execution context’s LexicalEnvironment to oldEnv.
9. Return Completion(B).
--- |
1504 |
- |
| cptn-finally-skip-catch.js |
---
es6id: 13.15.8
description: >
Completion value from `finally` clause of a try..catch..finally statement
(when `catch` block is not executed)
info: |
TryStatement : try Block Catch Finally
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
[...]
3. Else B.[[type]] is not throw, let C be B.
4. Let F be the result of evaluating Finally.
5. If F.[[type]] is normal, let F be C.
6. If F.[[type]] is return, or F.[[type]] is throw, return Completion(F).
7. If F.[[value]] is not empty, return NormalCompletion(F.[[value]]).
8. Return Completion{[[type]]: F.[[type]], [[value]]: undefined,
[[target]]: F.[[target]]}.
--- |
1482 |
- |
| cptn-finally-wo-catch.js |
---
es6id: 13.15.8
description: Completion value from `finally` clause of a try..finally statement
info: |
TryStatement : try Block Finally
1. Let B be the result of evaluating Block.
2. Let F be the result of evaluating Finally.
3. If F.[[type]] is normal, let F be B.
4. If F.[[type]] is return, or F.[[type]] is throw, return Completion(F).
5. If F.[[value]] is not empty, return Completion(F).
6. Return Completion{[[type]]: F.[[type]], [[value]]: undefined,
[[target]]: F.[[target]]}.
--- |
914 |
- |
| cptn-try.js |
---
es6id: 13.15.8
description: Completion value from `try` clause of a try..catch statement
info: |
TryStatement : try Block Catch
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
[...]
3. Else B.[[type]] is not throw,
a. Let C be B.
4. If C.[[type]] is return, or C.[[type]] is throw, return Completion(C).
5. If C.[[value]] is not empty, return Completion(C).
6. Return Completion{[[type]]: C.[[type]], [[value]]: undefined,
[[target]]: C.[[target]]}.
--- |
935 |
- |
| dstr-ary-init-iter-close.js |
---
description: Iterator is closed when not exhausted by pattern evaluation (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
[...]
4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator,
result).
[...]
--- |
1224 |
- |
| dstr-ary-init-iter-get-err.js |
---
description: Abrupt completion returned by GetIterator (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
1. Let iterator be GetIterator(value).
2. ReturnIfAbrupt(iterator).
--- |
936 |
- |
| dstr-ary-init-iter-no-close.js |
---
description: Iterator is not closed when exhausted by pattern evaluation (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
[...]
4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator,
result).
[...]
--- |
1226 |
- |
| dstr-ary-name-iter-val.js |
---
description: SingleNameBinding with normal value iteration (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
e. Else,
[...]
i. Let v be IteratorValue(next).
ii. If v is an abrupt completion, set
iteratorRecord.[[done]] to true.
iii. ReturnIfAbrupt(v).
5. If iteratorRecord.[[done]] is true, let v be undefined.
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
1540 |
- |
| dstr-ary-ptrn-elem-ary-elem-init.js |
---
description: BindingElement with array binding pattern and initializer is used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1313 |
- |
| dstr-ary-ptrn-elem-ary-elem-iter.js |
---
description: BindingElement with array binding pattern and initializer is not used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
[...]
e. Else,
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1284 |
- |
| dstr-ary-ptrn-elem-ary-elision-init.js |
---
description: BindingElement with array binding pattern and initializer is used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1388 |
- |
| dstr-ary-ptrn-elem-ary-elision-iter.js |
---
description: BindingElement with array binding pattern and initializer is not used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
[...]
e. Else,
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1293 |
- |
| dstr-ary-ptrn-elem-ary-empty-init.js |
---
description: BindingElement with array binding pattern and initializer is used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1430 |
- |
| dstr-ary-ptrn-elem-ary-empty-iter.js |
---
description: BindingElement with array binding pattern and initializer is not used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
[...]
e. Else,
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1271 |
- |
| dstr-ary-ptrn-elem-ary-rest-init.js |
---
description: BindingElement with array binding pattern and initializer is used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1435 |
- |
| dstr-ary-ptrn-elem-ary-rest-iter.js |
---
description: BindingElement with array binding pattern and initializer is not used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
[...]
e. Else,
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1482 |
- |
| dstr-ary-ptrn-elem-ary-val-null.js |
---
description: Nested array destructuring with a null value (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPattern Initializeropt
1. If iteratorRecord.[[done]] is false, then
[...]
e. Else
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
1. Let iterator be GetIterator(value).
2. ReturnIfAbrupt(iterator).
--- |
1223 |
- |
| dstr-ary-ptrn-elem-id-init-exhausted.js |
---
description: Destructuring initializer with an exhausted iterator (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
5. If iteratorRecord.[[done]] is true, let v be undefined.
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1240 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-arrow.js |
---
description: SingleNameBinding does assign name to arrow functions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1308 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-class.js |
---
description: SingleNameBinding assigns `name` to "anonymous" classes (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1445 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-cover.js |
---
description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1421 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-fn.js |
---
description: SingleNameBinding assigns name to "anonymous" functions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1367 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-gen.js |
---
description: SingleNameBinding assigns name to "anonymous" generator functions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1399 |
- |
| dstr-ary-ptrn-elem-id-init-hole.js |
---
description: Destructuring initializer with a "hole" (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...] 6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
[...]
7. If environment is undefined, return PutValue(lhs, v). 8. Return InitializeReferencedBinding(lhs, v).
--- |
1173 |
- |
| dstr-ary-ptrn-elem-id-init-skipped.js |
---
description: Destructuring initializer is not evaluated when value is not `undefined` (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1333 |
- |
| dstr-ary-ptrn-elem-id-init-throws.js |
---
description: Destructuring initializer returns an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
--- |
1065 |
- |
| dstr-ary-ptrn-elem-id-init-undef.js |
---
description: Destructuring initializer with an undefined value (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
[...]
7. If environment is undefined, return PutValue(lhs, v).
8. Return InitializeReferencedBinding(lhs, v).
--- |
1179 |
- |
| dstr-ary-ptrn-elem-id-init-unresolvable.js |
---
description: Destructuring initializer is an unresolvable reference (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
6.2.3.1 GetValue (V)
1. ReturnIfAbrupt(V).
2. If Type(V) is not Reference, return V.
3. Let base be GetBase(V).
4. If IsUnresolvableReference(V), throw a ReferenceError exception.
--- |
1245 |
- |
| dstr-ary-ptrn-elem-id-iter-complete.js |
---
description: SingleNameBinding when value iteration completes (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
e. Else,
[...]
5. If iteratorRecord.[[done]] is true, let v be undefined.
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
1327 |
- |
| dstr-ary-ptrn-elem-id-iter-done.js |
---
description: SingleNameBinding when value iteration was completed previously (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
[...]
5. If iteratorRecord.[[done]] is true, let v be undefined.
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
1080 |
- |
| dstr-ary-ptrn-elem-id-iter-step-err.js |
---
description: Error forwarding when IteratorStep returns an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
--- |
1191 |
- |
| dstr-ary-ptrn-elem-id-iter-val-err.js |
---
description: Error forwarding when IteratorValue returns an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
e. Else,
i. Let v be IteratorValue(next).
ii. If v is an abrupt completion, set iteratorRecord.[[done]] to
true.
iii. ReturnIfAbrupt(v).
--- |
1555 |
- |
| dstr-ary-ptrn-elem-id-iter-val.js |
---
description: SingleNameBinding when value iteration was completed previously (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
e. Else,
[...]
i. Let v be IteratorValue(next).
ii. If v is an abrupt completion, set
iteratorRecord.[[done]] to true.
iii. ReturnIfAbrupt(v).
5. If iteratorRecord.[[done]] is true, let v be undefined.
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
1566 |
- |
| dstr-ary-ptrn-elem-obj-id-init.js |
---
description: BindingElement with object binding pattern and initializer is used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1331 |
- |
| dstr-ary-ptrn-elem-obj-id.js |
---
description: BindingElement with object binding pattern and initializer is not used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1353 |
- |
| dstr-ary-ptrn-elem-obj-prop-id-init.js |
---
description: BindingElement with object binding pattern and initializer is used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1526 |
- |
| dstr-ary-ptrn-elem-obj-prop-id.js |
---
description: BindingElement with object binding pattern and initializer is not used (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPatternInitializer opt
[...]
2. If iteratorRecord.[[done]] is true, let v be undefined.
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be ? GetValue(defaultValue).
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
--- |
1551 |
- |
| dstr-ary-ptrn-elem-obj-val-null.js |
---
description: Nested object destructuring with a null value (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPattern Initializeropt
1. If iteratorRecord.[[done]] is false, then
[...]
e. Else
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ObjectBindingPattern
1. Let valid be RequireObjectCoercible(value).
2. ReturnIfAbrupt(valid).
--- |
1232 |
- |
| dstr-ary-ptrn-elem-obj-val-undef.js |
---
description: Nested object destructuring with a value of `undefined` (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingElement : BindingPattern Initializeropt
1. If iteratorRecord.[[done]] is false, then
[...]
e. Else
i. Let v be IteratorValue(next).
[...]
4. Return the result of performing BindingInitialization of BindingPattern
with v and environment as the arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ObjectBindingPattern
1. Let valid be RequireObjectCoercible(value).
2. ReturnIfAbrupt(valid).
--- |
1239 |
- |
| dstr-ary-ptrn-elision-exhausted.js |
---
description: Elision accepts exhausted iterator (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ Elision ]
1. Return the result of performing
IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord
as the argument.
12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation
Elision : ,
1. If iteratorRecord.[[done]] is false, then
[...]
2. Return NormalCompletion(empty).
--- |
1197 |
- |
| dstr-ary-ptrn-elision-step-err.js |
---
description: Elision advances iterator and forwards abrupt completions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ Elision ]
1. Return the result of performing
IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord
as the argument.
12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation
Elision : ,
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
--- |
1434 |
- |
| dstr-ary-ptrn-elision.js |
---
description: Elision advances iterator (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ Elision ]
1. Return the result of performing
IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord
as the argument.
12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation
Elision : ,
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
2. Return NormalCompletion(empty).
--- |
1510 |
- |
| dstr-ary-ptrn-empty.js |
---
description: No iteration occurs for an "empty" array binding pattern (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ ]
1. Return NormalCompletion(empty).
--- |
958 |
- |
| dstr-ary-ptrn-rest-ary-elem.js |
---
description: Rest element containing an array BindingElementList pattern (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingPattern
1. Let A be ArrayCreate(0).
[...]
3. Repeat
[...]
b. If iteratorRecord.[[done]] is true, then
i. Return the result of performing BindingInitialization of
BindingPattern with A and environment as the arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
e. Else,
[...]
i. Let v be IteratorValue(next).
ii. If v is an abrupt completion, set
iteratorRecord.[[done]] to true.
iii. ReturnIfAbrupt(v).
5. If iteratorRecord.[[done]] is true, let v be undefined.
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
1945 |
- |
| dstr-ary-ptrn-rest-ary-elision.js |
---
description: Rest element containing an elision (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingPattern
1. Let A be ArrayCreate(0).
[...]
3. Repeat
[...]
b. If iteratorRecord.[[done]] is true, then
i. Return the result of performing BindingInitialization of
BindingPattern with A and environment as the arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ Elision ]
1. Return the result of performing
IteratorDestructuringAssignmentEvaluation of Elision with iteratorRecord
as the argument.
12.14.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation
Elision : ,
1. If iteratorRecord.[[done]] is false, then
a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
d. If next is false, set iteratorRecord.[[done]] to true.
2. Return NormalCompletion(empty).
--- |
1914 |
- |
| dstr-ary-ptrn-rest-ary-empty.js |
---
description: Rest element containing an "empty" array pattern (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingPattern
1. Let A be ArrayCreate(0).
[...]
3. Repeat
[...]
b. If iteratorRecord.[[done]] is true, then
i. Return the result of performing BindingInitialization of
BindingPattern with A and environment as the arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ ]
1. Return NormalCompletion(empty).
--- |
1345 |
- |
| dstr-ary-ptrn-rest-ary-rest.js |
---
description: Rest element containing a rest element (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingPattern
1. Let A be ArrayCreate(0).
[...]
3. Repeat
[...]
b. If iteratorRecord.[[done]] is true, then
i. Return the result of performing BindingInitialization of
BindingPattern with A and environment as the arguments.
[...]
--- |
1296 |
- |
| dstr-ary-ptrn-rest-id-elision-next-err.js |
---
description: Rest element following elision elements (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ Elisionopt BindingRestElement ]
1. If Elision is present, then
a. Let status be the result of performing
IteratorDestructuringAssignmentEvaluation of Elision with
iteratorRecord as the argument.
b. ReturnIfAbrupt(status).
2. Return the result of performing IteratorBindingInitialization for
BindingRestElement with iteratorRecord and environment as arguments.
--- |
1247 |
- |
| dstr-ary-ptrn-rest-id-elision.js |
---
description: Rest element following elision elements (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ Elisionopt BindingRestElement ]
1. If Elision is present, then
a. Let status be the result of performing
IteratorDestructuringAssignmentEvaluation of Elision with
iteratorRecord as the argument.
b. ReturnIfAbrupt(status).
2. Return the result of performing IteratorBindingInitialization for
BindingRestElement with iteratorRecord and environment as arguments.
--- |
1423 |
- |
| dstr-ary-ptrn-rest-id-exhausted.js |
---
description: RestElement applied to an exhausted iterator (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingIdentifier
1. Let lhs be ResolveBinding(StringValue of BindingIdentifier,
environment).
2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat,
[...]
b. If iteratorRecord.[[done]] is true, then
i. If environment is undefined, return PutValue(lhs, A).
ii. Return InitializeReferencedBinding(lhs, A).
--- |
1262 |
- |
| dstr-ary-ptrn-rest-id-iter-step-err.js |
---
description: Error forwarding when IteratorStep returns an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingIdentifier
1. Let lhs be ResolveBinding(StringValue of BindingIdentifier,
environment).
2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat,
a. If iteratorRecord.[[done]] is false,
i. Let next be IteratorStep(iteratorRecord.[[iterator]]).
ii. If next is an abrupt completion, set iteratorRecord.[[done]] to
true.
iii. ReturnIfAbrupt(next).
--- |
1475 |
- |
| dstr-ary-ptrn-rest-id-iter-val-err.js |
---
description: Error forwarding when IteratorValue returns an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingIdentifier
1. Let lhs be ResolveBinding(StringValue of BindingIdentifier,
environment).
2. ReturnIfAbrupt(lhs). 3. Let A be ArrayCreate(0). 4. Let n=0. 5. Repeat,
[...]
c. Let nextValue be IteratorValue(next).
d. If nextValue is an abrupt completion, set iteratorRecord.[[done]] to
true.
e. ReturnIfAbrupt(nextValue).
--- |
1426 |
- |
| dstr-ary-ptrn-rest-id.js |
---
description: Lone rest element (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingIdentifier
[...] 3. Let A be ArrayCreate(0). [...] 5. Repeat
[...]
f. Let status be CreateDataProperty(A, ToString (n), nextValue).
[...]
--- |
1144 |
- |
| dstr-ary-ptrn-rest-init-ary.js |
---
description: Reset element (nested array pattern) does not support initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1091 |
- |
| dstr-ary-ptrn-rest-init-id.js |
---
description: Reset element (identifier) does not support initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1076 |
- |
| dstr-ary-ptrn-rest-init-obj.js |
---
description: Reset element (nested object pattern) does not support initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1092 |
- |
| dstr-ary-ptrn-rest-not-final-ary.js |
---
description: Rest element (array binding pattern) may not be followed by any element (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1105 |
- |
| dstr-ary-ptrn-rest-not-final-id.js |
---
description: Rest element (identifier) may not be followed by any element (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1091 |
- |
| dstr-ary-ptrn-rest-not-final-obj.js |
---
description: Rest element (object binding pattern) may not be followed by any element (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1108 |
- |
| dstr-ary-ptrn-rest-obj-id.js |
---
description: Rest element containing an object binding pattern (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingPattern
1. Let A be ArrayCreate(0).
[...]
3. Repeat
[...]
b. If iteratorRecord.[[done]] is true, then
i. Return the result of performing BindingInitialization of
BindingPattern with A and environment as the arguments.
[...]
--- |
1136 |
- |
| dstr-ary-ptrn-rest-obj-prop-id.js |
---
description: Rest element containing an object binding pattern (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
BindingRestElement : ... BindingPattern
1. Let A be ArrayCreate(0).
[...]
3. Repeat
[...]
b. If iteratorRecord.[[done]] is true, then
i. Return the result of performing BindingInitialization of
BindingPattern with A and environment as the arguments.
[...]
--- |
1383 |
- |
| dstr-obj-init-null.js |
---
description: Value specifed for object binding pattern must be object coercible (null) (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
Runtime Semantics: BindingInitialization
ObjectBindingPattern : { }
1. Return NormalCompletion(empty).
--- |
799 |
- |
| dstr-obj-init-undefined.js |
---
description: Value specifed for object binding pattern must be object coercible (undefined) (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
Runtime Semantics: BindingInitialization
ObjectBindingPattern : { }
1. Return NormalCompletion(empty).
--- |
814 |
- |
| dstr-obj-ptrn-empty.js |
---
description: No property access occurs for an "empty" object binding pattern (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
Runtime Semantics: BindingInitialization
ObjectBindingPattern : { }
1. Return NormalCompletion(empty).
--- |
984 |
- |
| dstr-obj-ptrn-id-get-value-err.js |
---
description: Error thrown when accessing the corresponding property of the value object (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. Let v be GetV(value, propertyName).
5. ReturnIfAbrupt(v).
--- |
1038 |
- |
| dstr-obj-ptrn-id-init-fn-name-arrow.js |
---
description: SingleNameBinding assigns `name` to arrow functions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
i. Let hasNameProperty be HasOwnProperty(v, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(v,
bindingId).
--- |
1253 |
- |
| dstr-obj-ptrn-id-init-fn-name-class.js |
---
description: SingleNameBinding assigns `name` to "anonymous" classes (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
i. Let hasNameProperty be HasOwnProperty(v, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(v,
bindingId).
--- |
1392 |
- |
| dstr-obj-ptrn-id-init-fn-name-cover.js |
---
description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
i. Let hasNameProperty be HasOwnProperty(v, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(v,
bindingId).
--- |
1367 |
- |
| dstr-obj-ptrn-id-init-fn-name-fn.js |
---
description: SingleNameBinding assigns name to "anonymous" functions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
i. Let hasNameProperty be HasOwnProperty(v, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(v,
bindingId).
--- |
1314 |
- |
| dstr-obj-ptrn-id-init-fn-name-gen.js |
---
description: SingleNameBinding assigns name to "anonymous" generator functions (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [generators, destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
d. If IsAnonymousFunctionDefinition(Initializer) is true, then
i. Let hasNameProperty be HasOwnProperty(v, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(v,
bindingId).
--- |
1346 |
- |
| dstr-obj-ptrn-id-init-skipped.js |
---
description: Destructuring initializer is not evaluated when value is not `undefined` (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
[...]
--- |
1239 |
- |
| dstr-obj-ptrn-id-init-throws.js |
---
description: Error thrown when evaluating the initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
--- |
1057 |
- |
| dstr-obj-ptrn-id-init-unresolvable.js |
---
description: Destructuring initializer is an unresolvable reference (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
6.2.3.1 GetValue (V)
1. ReturnIfAbrupt(V).
2. If Type(V) is not Reference, return V.
3. Let base be GetBase(V).
4. If IsUnresolvableReference(V), throw a ReferenceError exception.
--- |
1237 |
- |
| dstr-obj-ptrn-id-trailing-comma.js |
---
description: Trailing comma is allowed following BindingPropertyList (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ObjectBindingPattern[Yield] :
{ }
{ BindingPropertyList[?Yield] }
{ BindingPropertyList[?Yield] , }
--- |
926 |
- |
| dstr-obj-ptrn-list-err.js |
---
description: Binding property list evaluation is interrupted by an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPropertyList : BindingPropertyList , BindingProperty
1. Let status be the result of performing BindingInitialization for
BindingPropertyList using value and environment as arguments.
2. ReturnIfAbrupt(status).
--- |
1115 |
- |
| dstr-obj-ptrn-prop-ary-init.js |
---
description: Object binding pattern with "nested" array binding pattern using initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1292 |
- |
| dstr-obj-ptrn-prop-ary-trailing-comma.js |
---
description: Trailing comma is allowed following BindingPropertyList (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ObjectBindingPattern[Yield] :
{ }
{ BindingPropertyList[?Yield] }
{ BindingPropertyList[?Yield] , }
--- |
938 |
- |
| dstr-obj-ptrn-prop-ary-value-null.js |
---
description: Object binding pattern with "nested" array binding pattern taking the `null` value (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
[...]
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1007 |
- |
| dstr-obj-ptrn-prop-ary.js |
---
description: Object binding pattern with "nested" array binding pattern not using initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
[...]
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1201 |
- |
| dstr-obj-ptrn-prop-eval-err.js |
---
description: Evaluation of property name returns an abrupt completion (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.5 Runtime Semantics: BindingInitialization
BindingProperty : PropertyName : BindingElement
1. Let P be the result of evaluating PropertyName
2. ReturnIfAbrupt(P).
--- |
930 |
- |
| dstr-obj-ptrn-prop-id-get-value-err.js |
---
description: Error thrown when accessing the corresponding property of the value object (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
BindingElement : BindingPattern Initializeropt
1. Let v be GetV(value, propertyName).
2. ReturnIfAbrupt(v).
--- |
1108 |
- |
| dstr-obj-ptrn-prop-id-init-skipped.js |
---
description: Destructuring initializer is not evaluated when value is not `undefined` (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
BindingElement : BindingPattern Initializeropt
[...]
3. If Initializer is present and v is undefined, then
[...]
--- |
1470 |
- |
| dstr-obj-ptrn-prop-id-init-throws.js |
---
description: Error thrown when evaluating the initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
BindingElement : BindingPattern Initializeropt
[...]
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
--- |
1058 |
- |
| dstr-obj-ptrn-prop-id-init-unresolvable.js |
---
description: Destructuring initializer is an unresolvable reference (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
BindingElement : BindingPattern Initializeropt
[...]
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
6.2.3.1 GetValue (V)
1. ReturnIfAbrupt(V).
2. If Type(V) is not Reference, return V.
3. Let base be GetBase(V).
4. If IsUnresolvableReference(V), throw a ReferenceError exception.
--- |
1239 |
- |
| dstr-obj-ptrn-prop-id-init.js |
---
description: Binding as specified via property name, identifier, and initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
1000 |
- |
| dstr-obj-ptrn-prop-id-trailing-comma.js |
---
description: Trailing comma is allowed following BindingPropertyList (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3 Destructuring Binding Patterns
ObjectBindingPattern[Yield] :
{ }
{ BindingPropertyList[?Yield] }
{ BindingPropertyList[?Yield] , }
--- |
993 |
- |
| dstr-obj-ptrn-prop-id.js |
---
description: Binding as specified via property name and identifier (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
982 |
- |
| dstr-obj-ptrn-prop-obj-init.js |
---
description: Object binding pattern with "nested" object binding pattern using initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
a. Let defaultValue be the result of evaluating Initializer.
b. Let v be GetValue(defaultValue).
c. ReturnIfAbrupt(v).
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1320 |
- |
| dstr-obj-ptrn-prop-obj-value-null.js |
---
description: Object binding pattern with "nested" object binding pattern taking the `null` value (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
[...]
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1021 |
- |
| dstr-obj-ptrn-prop-obj-value-undef.js |
---
description: Object binding pattern with "nested" object binding pattern taking the `null` value (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
[...]
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1003 |
- |
| dstr-obj-ptrn-prop-obj.js |
---
description: Object binding pattern with "nested" object binding pattern not using initializer (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [destructuring-binding]
flags: [generated]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
[...]
3. If Initializer is present and v is undefined, then
[...]
4. Return the result of performing BindingInitialization for BindingPattern
passing v and environment as arguments.
--- |
1221 |
- |
| dstr-obj-ptrn-rest-getter.js |
---
description: Getter is called when obj is being deconstructed to a rest Object (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [object-rest, destructuring-binding]
flags: [generated]
includes: [propertyHelper.js]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
--- |
957 |
- |
| dstr-obj-ptrn-rest-skip-non-enumerable.js |
---
description: Rest object doesn't contain non-enumerable properties (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [object-rest, destructuring-binding]
flags: [generated]
includes: [propertyHelper.js]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
--- |
1127 |
- |
| dstr-obj-ptrn-rest-val-obj.js |
---
description: Rest object contains just unextracted data (try statement)
esid: sec-runtime-semantics-catchclauseevaluation
es6id: 13.15.7
features: [object-rest, destructuring-binding]
flags: [generated]
includes: [propertyHelper.js]
info: |
Catch : catch ( CatchParameter ) Block
[...]
5. Let status be the result of performing BindingInitialization for
CatchParameter passing thrownValue and catchEnv as arguments.
[...]
--- |
1086 |
- |
| early-catch-duplicates.js |
---
esid: sec-try-statement-static-semantics-early-errors
es6id: 13.15.1
description: >
It is a Syntax Error if BoundNames of CatchParameter contains any duplicate
elements.
negative:
phase: parse
type: SyntaxError
--- |
505 |
- |
| early-catch-lex.js |
---
esid: sec-try-statement-static-semantics-early-errors
es6id: 13.15.1
description: >
It is a Syntax Error if any element of the BoundNames of CatchParameter
also occurs in the LexicallyDeclaredNames of Block.
negative:
phase: parse
type: SyntaxError
features: [let]
--- |
562 |
- |
| early-catch-var.js |
---
esid: sec-try-statement-static-semantics-early-errors
es6id: 13.15.1
description: >
It is a Syntax Error if any element of the BoundNames of CatchParameter
also occurs in the VarDeclaredNames of Block.
info: |
Annex B extensions permit re-declarations from VariableStatement, the
VariableDeclarationList of a for statement, and the ForBinding of a for-of
statement. Bindings from the ForBinding of a for-in statement are
restricted regardless of the application of Annex B.
negative:
phase: parse
type: SyntaxError
--- |
842 |
- |
| optional-catch-binding-finally.js |
---
author: Lucas Azzola
esid: pending
description: try/catch/finally syntax with omission of the catch binding
features: [optional-catch-binding]
info: |
Optional Catch Binding
Catch[Yield, Await, Return]:
(...)
catch Block[?Yield, ?Await, ?Return]
--- |
428 |
- |
| optional-catch-binding-lexical.js |
---
author: Lucas Azzola
esid: pending
description: lexical environment runtime semantics for optional catch binding
features: [optional-catch-binding]
info: |
Runtime Semantics: CatchClauseEvaluation
Catch : catch Block
Let oldEnv be the running execution context's LexicalEnvironment.
Let catchEnv be NewDeclarativeEnvironment(oldEnv).
Set the running execution context's LexicalEnvironment to catchEnv.
(...)
Set the running execution context's LexicalEnvironment to oldEnv.
Return Completion(B).
--- |
931 |
- |
| optional-catch-binding-parens.js |
---
author: Lucas Azzola
esid: pending
description: >
It is a SyntaxError to have a try/catch statement with an empty CatchParameter
features: [optional-catch-binding]
info: |
Catch[Yield, Await, Return]:
catch ( CatchParameter[?Yield, ?Await] ) Block[?Yield, ?Await, ?Return]
negative:
phase: parse
type: SyntaxError
--- |
547 |
- |
| optional-catch-binding-throws.js |
---
author: Lucas Azzola
esid: pending
description: errors can be thrown from catch clause without binding
features: [optional-catch-binding]
info: |
Runtime Semantics: CatchClauseEvaluation
Catch : catch Block
(...)
Let B be the result of evaluating Block.
(...)
Return Completion(B).
--- |
581 |
- |
| optional-catch-binding.js |
---
author: Lucas Azzola
esid: pending
description: try/catch syntax with omission of the catch binding
features: [optional-catch-binding]
info: |
Optional Catch Binding
Catch[Yield, Await, Return]:
(...)
catch Block[?Yield, ?Await, ?Return]
--- |
409 |
- |
| S12.14_A1.js |
---
info: |
The production TryStatement : try Block Catch is evaluated as follows: 2.
If Result(1).type is not throw, return Result(1)
es5id: 12.14_A1
description: >
Executing TryStatement : try Block Catch. The statements doesn't
cause actual exceptions
--- |
1221 |
- |
| S12.14_A2.js |
---
info: Throwing exception with "throw" and catching it with "try" statement
es5id: 12.14_A2
description: >
Checking if execution of "catch" catches an exception thrown with
"throw"
--- |
956 |
- |
| S12.14_A3.js |
---
info: Catching system exception with "try" statement
es5id: 12.14_A3
description: Checking if execution of "catch" catches system exceptions
--- |
886 |
- |
| S12.14_A4.js |
---
info: Sanity test for "catch(Indetifier) statement"
es5id: 12.14_A4
description: Checking if deleting an exception fails
flags: [noStrict]
--- |
787 |
- |
| S12.14_A5.js |
---
info: |
The production TryStatement: "try Block Finally" and the production
TryStatement: "try Block Catch Finally"
es5id: 12.14_A5
description: Checking "catch" catches the Identifier in appropriate way
--- |
1276 |
- |
| S12.14_A6.js |
---
info: "The production TryStatement: \"try Block Catch Finally\""
es5id: 12.14_A6
description: >
Executing sequence of "try" statements, using counters with
varying values within
--- |
1120 |
- |
| S12.14_A7_T1.js |
---
info: Evaluating the nested productions TryStatement
es5id: 12.14_A7_T1
description: >
Checking if the production of nested TryStatement statements
evaluates correct
--- |
3308 |
- |
| S12.14_A7_T2.js |
---
info: Evaluating the nested productions TryStatement
es5id: 12.14_A7_T2
description: >
Checking if the production of nested TryStatement statements
evaluates correct
--- |
2864 |
- |
| S12.14_A7_T3.js |
---
info: Evaluating the nested productions TryStatement
es5id: 12.14_A7_T3
description: >
Checking if the production of nested TryStatement statements
evaluates correct
--- |
3987 |
- |
| S12.14_A8.js |
---
info: "\"try\" with \"catch\" or \"finally\" statement within/without an \"if\" statement"
es5id: 12.14_A8
description: Throwing exception within an "if" statement
--- |
840 |
- |
| S12.14_A9_T1.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T1
description: Loop within a "try" Block, from where exception is thrown
--- |
499 |
- |
| S12.14_A9_T2.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T2
description: >
"try" statement within a loop, the statement contains "continue"
statement
--- |
1843 |
- |
| S12.14_A9_T3.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T3
description: >
"try" statement within a loop, the statement contains "break"
statement
--- |
2201 |
- |
| S12.14_A9_T4.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T4
description: >
"try" statement within a loop, the statement contains "continue"
and "break" statements
--- |
1020 |
- |
| S12.14_A9_T5.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T5
description: >
Checking if exceptions are thrown correctly from wherever of loop
body
--- |
853 |
- |
| S12.14_A10_T1.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T1
description: >
Throwing exception while executing iteration statement placed into
try Block
--- |
518 |
- |
| S12.14_A10_T2.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T2
description: Try statement inside loop, where use continue loop
--- |
1789 |
- |
| S12.14_A10_T3.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T3
description: Try statement inside loop, where use break
--- |
2151 |
- |
| S12.14_A10_T4.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T4
description: Try statement inside loop, where combinate using break and continue
--- |
984 |
- |
| S12.14_A10_T5.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T5
description: Throw some exceptions from different place of loop body
--- |
827 |
- |
| S12.14_A11_T1.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T1
description: Loop inside try Block, where throw exception
--- |
474 |
- |
| S12.14_A11_T2.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T2
description: Try statement inside loop, where use continue loop
--- |
1915 |
- |
| S12.14_A11_T3.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T3
description: Try statement inside loop, where use break
--- |
2205 |
- |
| S12.14_A11_T4.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T4
description: Try statement inside loop, where combinate using break and continue
--- |
1001 |
- |
| S12.14_A12_T1.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T1
description: Loop inside try Block, where throw exception
--- |
588 |
- |
| S12.14_A12_T2.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T2
description: Try statement inside loop, where use continue loop
--- |
2029 |
- |
| S12.14_A12_T3.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T3
description: Try statement inside loop, where use break
--- |
2331 |
- |
| S12.14_A12_T4.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T4
description: Try statement inside loop, where combinate using break and continue
--- |
1090 |
- |
| S12.14_A13_T1.js |
---
info: Using "try" with "catch" or "finally" statement with a "return" statement
es5id: 12.14_A13_T1
description: Using try/catch syntax construction
--- |
1429 |
- |
| S12.14_A13_T2.js |
---
info: Using "try" with "catch" or "finally" statement with a "return" statement
es5id: 12.14_A13_T2
description: Using try/finally syntax construction
--- |
3014 |
- |
| S12.14_A13_T3.js |
---
info: Using "try" with "catch" or "finally" statement with a "return" statement
es5id: 12.14_A13_T3
description: Using try/catch/finally syntax construction
--- |
3451 |
- |
| S12.14_A14.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "with"
statement
es5id: 12.14_A14
description: Using try/catch/finally in With and With in try/catch/finally
flags: [noStrict]
--- |
1831 |
- |
| S12.14_A15.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "switch"
statement
es5id: 12.14_A15
description: Insert try/catch/finally to switch statement
--- |
2171 |
- |
| S12.14_A16_T1.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T1
description: Checking if pure "try" syntax construction passes
negative:
phase: parse
type: SyntaxError
--- |
448 |
- |
| S12.14_A16_T2.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T2
description: Checking if execution of "catch" with no "try" fails
negative:
phase: parse
type: SyntaxError
--- |
453 |
- |
| S12.14_A16_T3.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T3
description: Checking if execution of "finally" with no "try" fails
negative:
phase: parse
type: SyntaxError
--- |
457 |
- |
| S12.14_A16_T5.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T5
description: >
Catch: "catch (Identifier ) Block". Checking if execution of
"catch" with no Block fails
negative:
phase: parse
type: SyntaxError
--- |
507 |
- |
| S12.14_A16_T6.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T6
description: >
Block: "{ StatementList }". Checking if execution of "try{
catch{}{}" fails
negative:
phase: parse
type: SyntaxError
--- |
495 |
- |
| S12.14_A16_T7.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T7
description: >
Block: "{ StatementList }". Checking if execution of "try{}
catch(){" fails
negative:
phase: parse
type: SyntaxError
--- |
495 |
- |
| S12.14_A16_T8.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T8
description: >
Block: "{ StatementList }". Catch: "catch (Identifier ) Block".
Checking if execution of "try{} catch(){finally{}" fails
negative:
phase: parse
type: SyntaxError
--- |
550 |
- |
| S12.14_A16_T9.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T9
description: Checking if execution of "catch(){} finally{}" fails
negative:
phase: parse
type: SyntaxError
--- |
467 |
- |
| S12.14_A16_T10.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T10
description: "Catch: \"catch (Identifier ) Block\""
negative:
phase: parse
type: SyntaxError
--- |
460 |
- |
| S12.14_A16_T11.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T11
description: >
Catch and Finally are placed into the Block of "try" (whitle
expected outside)
negative:
phase: parse
type: SyntaxError
--- |
524 |
- |
| S12.14_A16_T12.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T12
description: Embedded "try" statements followed by two "catch" statements
negative:
phase: parse
type: SyntaxError
--- |
502 |
- |
| S12.14_A16_T13.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T13
description: >
Catch: "catch (Identifier ) Block". Checking if execution of "22"
passes at the place of Identifier of "catch"
negative:
phase: parse
type: SyntaxError
--- |
540 |
- |
| S12.14_A16_T14.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T14
description: Checking if passing argument to "try" statement fails
negative:
phase: parse
type: SyntaxError
--- |
472 |
- |
| S12.14_A16_T15.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T15
description: >
Finally: "finally Block". Checking if passing argument to "try"
statement fails
negative:
phase: parse
type: SyntaxError
--- |
506 |
- |
| S12.14_A17.js |
---
info: Using "try" with "catch" or "finally" statement in a constructor
es5id: 12.14_A17
description: Creating exceptions within constructor
--- |
943 |
- |
| S12.14_A18_T1.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T1
description: Catching undefined
--- |
375 |
- |
| S12.14_A18_T2.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T2
description: Catching null
--- |
354 |
- |
| S12.14_A18_T3.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T3
description: Catching boolean
--- |
1047 |
- |
| S12.14_A18_T4.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T4
description: Catching string
--- |
895 |
- |
| S12.14_A18_T5.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T5
description: Catching Number
--- |
1601 |
- |
| S12.14_A18_T6.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T6
description: Catching Object
--- |
1401 |
- |
| S12.14_A18_T7.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T7
description: Catching Array
--- |
1602 |
- |
| S12.14_A19_T1.js |
---
info: Catching system exceptions of different types with try statement
es5id: 12.14_A19_T1
description: Testing try/catch syntax construction
--- |
1548 |
- |
| S12.14_A19_T2.js |
---
info: Catching system exceptions of different types with try statement
es5id: 12.14_A19_T2
description: Testing try/catch/finally syntax construction
--- |
2207 |
- |
| scope-catch-block-lex-close.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Removal of lexical environment for `catch` block
info: |
[...]
8. Let B be the result of evaluating Block.
[...]
features: [let]
--- |
547 |
- |
| scope-catch-block-lex-open.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Creation of new lexical environment for `catch` block
info: |
[...]
8. Let B be the result of evaluating Block.
[...]
features: [let]
--- |
631 |
- |
| scope-catch-block-var-none.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Retainment of existing variable environment for `catch` block
info: |
[...]
8. Let B be the result of evaluating Block.
[...]
--- |
710 |
- |
| scope-catch-param-lex-close.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Removal of lexical environment for `catch` parameter
--- |
443 |
- |
| scope-catch-param-lex-open.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Creation of new lexical environment for `catch` parameter
--- |
616 |
- |
| scope-catch-param-var-none.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Retainment of existing variable environment for `catch` parameter
flags: [noStrict]
--- |
924 |
- |
| tco-catch-finally.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]
--- |
565 |
- |
| tco-catch.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]
--- |
571 |
- |
| tco-finally.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]
--- |
549 |
- |