| 12.2.1-1-s.js |
---
es5id: 12.2.1-1-s
description: >
eval - a function declaring a var named 'eval' throws SyntaxError
in strict mode
flags: [onlyStrict]
--- |
378 |
- |
| 12.2.1-1gs.js |
---
es5id: 12.2.1-1gs
description: >
Strict Mode - SyntaxError is thrown if a VariableDeclaration
occurs within strict code and its Identifier is eval
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
457 |
- |
| 12.2.1-2-s.js |
---
es5id: 12.2.1-2-s
description: >
eval - a function assigning into 'eval' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
379 |
- |
| 12.2.1-3-s.js |
---
es5id: 12.2.1-3-s
description: >
eval - a function expr declaring a var named 'eval' throws
SyntaxError in strict mode
flags: [onlyStrict]
--- |
382 |
- |
| 12.2.1-4-s.js |
---
es5id: 12.2.1-4-s
description: >
eval - a function expr assigning into 'eval' throws a SyntaxError
in strict mode
flags: [onlyStrict]
--- |
380 |
- |
| 12.2.1-4gs.js |
---
es5id: 12.2.1-4gs
description: >
Strict Mode - SyntaxError is thrown if a VariableDeclarationNoIn
occurs within strict code and its Identifier is arguments
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
452 |
- |
| 12.2.1-5-s.js |
---
es5id: 12.2.1-5-s
description: >
a Function declaring var named 'eval' does not throw SyntaxError
--- |
282 |
- |
| 12.2.1-6-s.js |
---
es5id: 12.2.1-6-s
description: >
eval - a Function assigning into 'eval' will not throw any error
if contained within strict mode and its body does not start with
strict mode
flags: [onlyStrict]
--- |
401 |
- |
| 12.2.1-7-s.js |
---
es5id: 12.2.1-7-s
description: >
eval - a direct eval declaring a var named 'eval' throws
SyntaxError in strict mode
flags: [onlyStrict]
--- |
362 |
- |
| 12.2.1-8-s.js |
---
es5id: 12.2.1-8-s
description: >
eval - a direct eval assigning into 'eval' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
356 |
- |
| 12.2.1-9-s.js |
---
es5id: 12.2.1-9-s
description: >
an indirect eval declaring a var named 'eval' does not throw
--- |
281 |
- |
| 12.2.1-10-s.js |
---
es5id: 12.2.1-10-s
description: "Strict Mode: an indirect eval assigning into 'eval' does not throw"
--- |
285 |
- |
| 12.2.1-11.js |
---
es5id: 12.2.1-11
description: arguments as var identifier in eval code is allowed
flags: [noStrict]
--- |
314 |
- |
| 12.2.1-12-s.js |
---
es5id: 12.2.1-12-s
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
360 |
- |
| 12.2.1-12.js |
---
es5id: 12.2.1-12
description: arguments as local var identifier is allowed
flags: [noStrict]
--- |
285 |
- |
| 12.2.1-13-s.js |
---
es5id: 12.2.1-13-s
description: arguments assignment throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
356 |
- |
| 12.2.1-14-s.js |
---
es5id: 12.2.1-14-s
description: >
arguments - a function expr declaring a var named 'arguments'
throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
396 |
- |
| 12.2.1-15-s.js |
---
es5id: 12.2.1-15-s
description: >
arguments - a function expr assigning into 'arguments' throws a
SyntaxError in strict mode
flags: [onlyStrict]
--- |
394 |
- |
| 12.2.1-16-s.js |
---
es5id: 12.2.1-16-s
description: >
A Function constructor (called as a function) declaring a var
named 'arguments' does not throw a SyntaxError
--- |
336 |
- |
| 12.2.1-17-s.js |
---
es5id: 12.2.1-17-s
description: >
A Function constructor (called as a function) assigning into
'arguments' will not throw any error if contained within strict
mode and its body does not start with strict mode
flags: [onlyStrict]
--- |
440 |
- |
| 12.2.1-18-s.js |
---
es5id: 12.2.1-18-s
description: >
A direct eval declaring a var named 'arguments' throws SyntaxError
in strict mode
flags: [onlyStrict]
--- |
366 |
- |
| 12.2.1-19-s.js |
---
es5id: 12.2.1-19-s
description: >
A direct eval assigning into 'arguments' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
360 |
- |
| 12.2.1-20-s.js |
---
es5id: 12.2.1-20-s
description: >
Strict Mode: an indirect eval declaring a var named 'arguments'
does not throw
--- |
309 |
- |
| 12.2.1-21-s.js |
---
es5id: 12.2.1-21-s
description: >
Strict Mode: an indirect eval assigning into 'arguments' does not
throw
--- |
303 |
- |
| 12.2.1-22-s.js |
---
es5id: 12.2.1-22-s
description: >
arguments as global var identifier throws SyntaxError in strict
mode
--- |
384 |
- |
| 12.2.1-23-s.js |
---
es5id: 12.2.1-23-s
description: >
arguments as local var identifier assigned to throws SyntaxError
in strict mode
flags: [onlyStrict]
--- |
387 |
- |
| 12.2.1-24-s.js |
---
es5id: 12.2.1-24-s
description: >
eval as local var identifier assigned to throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
377 |
- |
| 12.2.1-25-s.js |
---
es5id: 12.2.1-25-s
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
363 |
- |
| 12.2.1-26-s.js |
---
es5id: 12.2.1-26-s
description: eval as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
353 |
- |
| 12.2.1-27-s.js |
---
es5id: 12.2.1-27-s
description: >
eval as local var identifier assigned to throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
380 |
- |
| 12.2.1-28-s.js |
---
es5id: 12.2.1-28-s
description: >
arguments as local var identifier assigned to throws SyntaxError
in strict mode
flags: [onlyStrict]
--- |
390 |
- |
| 12.2.1-29-s.js |
---
es5id: 12.2.1-29-s
description: eval as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
358 |
- |
| 12.2.1-30-s.js |
---
es5id: 12.2.1-30-s
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
368 |
- |
| 12.2.1-31-s.js |
---
es5id: 12.2.1-31-s
description: >
eval as local var identifier defined twice throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
380 |
- |
| 12.2.1-32-s.js |
---
es5id: 12.2.1-32-s
description: >
arguments as local var identifier defined twice and assigned once
throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
418 |
- |
| 12.2.1-33-s.js |
---
es5id: 12.2.1-33-s
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
--- |
366 |
- |
| 12.2.1-34-s.js |
---
es5id: 12.2.1-34-s
description: "'for(var eval in ...) {...}' throws SyntaxError in strict mode"
flags: [onlyStrict]
--- |
351 |
- |
| 12.2.1-35-s.js |
---
es5id: 12.2.1-35-s
description: "'for(var eval = 42 in ...) {...}' throws SyntaxError in strict mode"
flags: [onlyStrict]
--- |
361 |
- |
| 12.2.1-36-s.js |
---
es5id: 12.2.1-36-s
description: "'for(var arguments in ...) {...}' throws SyntaxError in strict mode"
flags: [onlyStrict]
--- |
361 |
- |
| 12.2.1-37-s.js |
---
es5id: 12.2.1-37-s
description: >
'for(var arguments = 42 in ...) {...}' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
379 |
- |
| binding-resolution.js |
---
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
description: Binding is resolve prior to evaluation of Initializer
info: |
VariableDeclaration : BindingIdentifier Initializer
1. Let bindingId be StringValue of BindingIdentifier.
2. Let lhs be ? ResolveBinding(bindingId).
3. Let rhs be the result of evaluating Initializer.
[...]
flags: [noStrict]
--- |
705 |
- |
| cptn-value.js |
---
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
description: Returns an empty completion
info: |
VariableStatement : var VariableDeclarationList ;
1. Let next be the result of evaluating VariableDeclarationList.
2. ReturnIfAbrupt(next).
3. Return NormalCompletion(empty).
--- |
1171 |
- |
| dstr-ary-init-iter-close.js |
---
description: Iterator is closed when not exhausted by pattern evaluation (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
[...]
4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator,
result).
[...]
--- |
1226 |
- |
| dstr-ary-init-iter-get-err.js |
---
description: Abrupt completion returned by GetIterator (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
1. Let iterator be GetIterator(value).
2. ReturnIfAbrupt(iterator).
--- |
1023 |
- |
| dstr-ary-init-iter-no-close.js |
---
description: Iterator is not closed when exhausted by pattern evaluation (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingPattern : ArrayBindingPattern
[...]
4. If iteratorRecord.[[done]] is false, return ? IteratorClose(iterator,
result).
[...]
--- |
1228 |
- |
| dstr-ary-name-iter-val.js |
---
description: SingleNameBinding with normal value iteration (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1538 |
- |
| dstr-ary-ptrn-elem-ary-elem-init.js |
---
description: BindingElement with array binding pattern and initializer is used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1311 |
- |
| dstr-ary-ptrn-elem-ary-elem-iter.js |
---
description: BindingElement with array binding pattern and initializer is not used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1282 |
- |
| dstr-ary-ptrn-elem-ary-elision-init.js |
---
description: BindingElement with array binding pattern and initializer is used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1295 |
- |
| dstr-ary-ptrn-elem-ary-empty-init.js |
---
description: BindingElement with array binding pattern and initializer is used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1273 |
- |
| dstr-ary-ptrn-elem-ary-rest-init.js |
---
description: BindingElement with array binding pattern and initializer is used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1427 |
- |
| dstr-ary-ptrn-elem-ary-rest-iter.js |
---
description: BindingElement with array binding pattern and initializer is not used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1472 |
- |
| dstr-ary-ptrn-elem-ary-val-null.js |
---
description: Nested array destructuring with a null value (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1310 |
- |
| dstr-ary-ptrn-elem-id-init-exhausted.js |
---
description: Destructuring initializer with an exhausted iterator (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1242 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-arrow.js |
---
description: SingleNameBinding does assign name to arrow functions (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1310 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-class.js |
---
description: SingleNameBinding assigns `name` to "anonymous" classes (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1443 |
- |
| dstr-ary-ptrn-elem-id-init-fn-name-cover.js |
---
description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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" (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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` (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1327 |
- |
| dstr-ary-ptrn-elem-id-init-throws.js |
---
description: Destructuring initializer returns an abrupt completion (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1152 |
- |
| dstr-ary-ptrn-elem-id-init-undef.js |
---
description: Destructuring initializer with an undefined value (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1181 |
- |
| dstr-ary-ptrn-elem-id-init-unresolvable.js |
---
description: Destructuring initializer is an unresolvable reference (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1332 |
- |
| dstr-ary-ptrn-elem-id-iter-complete.js |
---
description: SingleNameBinding when value iteration completes (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1329 |
- |
| dstr-ary-ptrn-elem-id-iter-done.js |
---
description: SingleNameBinding when value iteration was completed previously (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1082 |
- |
| dstr-ary-ptrn-elem-id-iter-step-err.js |
---
description: Error forwarding when IteratorStep returns an abrupt completion (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1278 |
- |
| dstr-ary-ptrn-elem-id-iter-val-err.js |
---
description: Error forwarding when IteratorValue returns an abrupt completion (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1642 |
- |
| dstr-ary-ptrn-elem-id-iter-val.js |
---
description: SingleNameBinding when value iteration was completed previously (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1564 |
- |
| dstr-ary-ptrn-elem-obj-id-init.js |
---
description: BindingElement with object binding pattern and initializer is used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1329 |
- |
| dstr-ary-ptrn-elem-obj-id.js |
---
description: BindingElement with object binding pattern and initializer is not used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1351 |
- |
| dstr-ary-ptrn-elem-obj-prop-id-init.js |
---
description: BindingElement with object binding pattern and initializer is used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1506 |
- |
| dstr-ary-ptrn-elem-obj-prop-id.js |
---
description: BindingElement with object binding pattern and initializer is not used (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1531 |
- |
| dstr-ary-ptrn-elem-obj-val-null.js |
---
description: Nested object destructuring with a null value (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1319 |
- |
| dstr-ary-ptrn-elem-obj-val-undef.js |
---
description: Nested object destructuring with a value of `undefined` (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1326 |
- |
| dstr-ary-ptrn-elision-exhausted.js |
---
description: Elision accepts exhausted iterator (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1199 |
- |
| dstr-ary-ptrn-elision-step-err.js |
---
description: Elision advances iterator and forwards abrupt completions (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1521 |
- |
| dstr-ary-ptrn-elision.js |
---
description: Elision advances iterator (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.6 Runtime Semantics: IteratorBindingInitialization
ArrayBindingPattern : [ ]
1. Return NormalCompletion(empty).
--- |
960 |
- |
| dstr-ary-ptrn-rest-ary-elem.js |
---
description: Rest element containing an array BindingElementList pattern (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1943 |
- |
| dstr-ary-ptrn-rest-ary-elision.js |
---
description: Rest element containing an elision (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1347 |
- |
| dstr-ary-ptrn-rest-ary-rest.js |
---
description: Rest element containing a rest element (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
[...]
--- |
1288 |
- |
| dstr-ary-ptrn-rest-id-elision-next-err.js |
---
description: Rest element following elision elements (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1334 |
- |
| dstr-ary-ptrn-rest-id-elision.js |
---
description: Rest element following elision elements (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1415 |
- |
| dstr-ary-ptrn-rest-id-exhausted.js |
---
description: RestElement applied to an exhausted iterator (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1562 |
- |
| dstr-ary-ptrn-rest-id-iter-val-err.js |
---
description: Error forwarding when IteratorValue returns an abrupt completion (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [Symbol.iterator, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1513 |
- |
| dstr-ary-ptrn-rest-id.js |
---
description: Lone rest element (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
[...]
--- |
1136 |
- |
| dstr-ary-ptrn-rest-init-ary.js |
---
description: Reset element (nested array pattern) does not support initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1093 |
- |
| dstr-ary-ptrn-rest-init-id.js |
---
description: Reset element (identifier) does not support initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1078 |
- |
| dstr-ary-ptrn-rest-init-obj.js |
---
description: Reset element (nested object pattern) does not support initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1094 |
- |
| dstr-ary-ptrn-rest-not-final-ary.js |
---
description: Rest element (array binding pattern) may not be followed by any element (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1107 |
- |
| dstr-ary-ptrn-rest-not-final-id.js |
---
description: Rest element (identifier) may not be followed by any element (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1093 |
- |
| dstr-ary-ptrn-rest-not-final-obj.js |
---
description: Rest element (object binding pattern) may not be followed by any element (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
negative:
phase: parse
type: SyntaxError
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ArrayBindingPattern[Yield] :
[ Elisionopt BindingRestElement[?Yield]opt ]
[ BindingElementList[?Yield] ]
[ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
--- |
1110 |
- |
| dstr-ary-ptrn-rest-obj-id.js |
---
description: Rest element containing an object binding pattern (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
[...]
--- |
1138 |
- |
| dstr-ary-ptrn-rest-obj-prop-id.js |
---
description: Rest element containing an object binding pattern (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
[...]
--- |
1375 |
- |
| dstr-obj-init-null.js |
---
description: Value specifed for object binding pattern must be object coercible (null) (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
Runtime Semantics: BindingInitialization
ObjectBindingPattern : { }
1. Return NormalCompletion(empty).
--- |
886 |
- |
| dstr-obj-init-undefined.js |
---
description: Value specifed for object binding pattern must be object coercible (undefined) (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
Runtime Semantics: BindingInitialization
ObjectBindingPattern : { }
1. Return NormalCompletion(empty).
--- |
901 |
- |
| dstr-obj-ptrn-empty.js |
---
description: No property access occurs for an "empty" object binding pattern (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
Runtime Semantics: BindingInitialization
ObjectBindingPattern : { }
1. Return NormalCompletion(empty).
--- |
986 |
- |
| dstr-obj-ptrn-id-get-value-err.js |
---
description: Error thrown when accessing the corresponding property of the value object (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
4. Let v be GetV(value, propertyName).
5. ReturnIfAbrupt(v).
--- |
1125 |
- |
| dstr-obj-ptrn-id-init-fn-name-arrow.js |
---
description: SingleNameBinding assigns `name` to arrow functions (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1255 |
- |
| dstr-obj-ptrn-id-init-fn-name-class.js |
---
description: SingleNameBinding assigns `name` to "anonymous" classes (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1390 |
- |
| dstr-obj-ptrn-id-init-fn-name-cover.js |
---
description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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 (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [generators, destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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` (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
6. If Initializer is present and v is undefined, then
[...]
[...]
--- |
1233 |
- |
| dstr-obj-ptrn-id-init-throws.js |
---
description: Error thrown when evaluating the initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1144 |
- |
| dstr-obj-ptrn-id-init-unresolvable.js |
---
description: Destructuring initializer is an unresolvable reference (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1324 |
- |
| dstr-obj-ptrn-id-trailing-comma.js |
---
description: Trailing comma is allowed following BindingPropertyList (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ObjectBindingPattern[Yield] :
{ }
{ BindingPropertyList[?Yield] }
{ BindingPropertyList[?Yield] , }
--- |
928 |
- |
| dstr-obj-ptrn-list-err.js |
---
description: Binding property list evaluation is interrupted by an abrupt completion (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1202 |
- |
| dstr-obj-ptrn-prop-ary-init.js |
---
description: Object binding pattern with "nested" array binding pattern using initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1284 |
- |
| dstr-obj-ptrn-prop-ary-trailing-comma.js |
---
description: Trailing comma is allowed following BindingPropertyList (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ObjectBindingPattern[Yield] :
{ }
{ BindingPropertyList[?Yield] }
{ BindingPropertyList[?Yield] , }
--- |
940 |
- |
| dstr-obj-ptrn-prop-ary-value-null.js |
---
description: Object binding pattern with "nested" array binding pattern taking the `null` value (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1094 |
- |
| dstr-obj-ptrn-prop-ary.js |
---
description: Object binding pattern with "nested" array binding pattern not using initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1193 |
- |
| dstr-obj-ptrn-prop-eval-err.js |
---
description: Evaluation of property name returns an abrupt completion (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.5 Runtime Semantics: BindingInitialization
BindingProperty : PropertyName : BindingElement
1. Let P be the result of evaluating PropertyName
2. ReturnIfAbrupt(P).
--- |
1017 |
- |
| dstr-obj-ptrn-prop-id-get-value-err.js |
---
description: Error thrown when accessing the corresponding property of the value object (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
BindingElement : BindingPattern Initializeropt
1. Let v be GetV(value, propertyName).
2. ReturnIfAbrupt(v).
--- |
1195 |
- |
| dstr-obj-ptrn-prop-id-init-skipped.js |
---
description: Destructuring initializer is not evaluated when value is not `undefined` (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
BindingElement : BindingPattern Initializeropt
[...]
3. If Initializer is present and v is undefined, then
[...]
--- |
1440 |
- |
| dstr-obj-ptrn-prop-id-init-throws.js |
---
description: Error thrown when evaluating the initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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).
--- |
1145 |
- |
| dstr-obj-ptrn-prop-id-init-unresolvable.js |
---
description: Destructuring initializer is an unresolvable reference (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1326 |
- |
| dstr-obj-ptrn-prop-id-init.js |
---
description: Binding as specified via property name, identifier, and initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
996 |
- |
| dstr-obj-ptrn-prop-id-trailing-comma.js |
---
description: Trailing comma is allowed following BindingPropertyList (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3 Destructuring Binding Patterns
ObjectBindingPattern[Yield] :
{ }
{ BindingPropertyList[?Yield] }
{ BindingPropertyList[?Yield] , }
--- |
989 |
- |
| dstr-obj-ptrn-prop-id.js |
---
description: Binding as specified via property name and identifier (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
13.3.3.7 Runtime Semantics: KeyedBindingInitialization
SingleNameBinding : BindingIdentifier Initializeropt
[...]
8. Return InitializeReferencedBinding(lhs, v).
--- |
978 |
- |
| dstr-obj-ptrn-prop-obj-init.js |
---
description: Object binding pattern with "nested" object binding pattern using initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1312 |
- |
| dstr-obj-ptrn-prop-obj-value-null.js |
---
description: Object binding pattern with "nested" object binding pattern taking the `null` value (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1108 |
- |
| dstr-obj-ptrn-prop-obj-value-undef.js |
---
description: Object binding pattern with "nested" object binding pattern taking the `null` value (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1090 |
- |
| dstr-obj-ptrn-prop-obj.js |
---
description: Object binding pattern with "nested" object binding pattern not using initializer (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [destructuring-binding]
flags: [generated]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined 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.
--- |
1213 |
- |
| dstr-obj-ptrn-rest-getter.js |
---
description: Getter is called when obj is being deconstructed to a rest Object (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [object-rest, destructuring-binding]
flags: [generated]
includes: [propertyHelper.js]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
--- |
947 |
- |
| dstr-obj-ptrn-rest-skip-non-enumerable.js |
---
description: Rest object doesn't contain non-enumerable properties (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [object-rest, destructuring-binding]
flags: [generated]
includes: [propertyHelper.js]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
--- |
1105 |
- |
| dstr-obj-ptrn-rest-val-obj.js |
---
description: Rest object contains just unextracted data (`var` statement)
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
features: [object-rest, destructuring-binding]
flags: [generated]
includes: [propertyHelper.js]
info: |
VariableDeclaration : BindingPattern Initializer
1. Let rhs be the result of evaluating Initializer.
2. Let rval be GetValue(rhs).
3. ReturnIfAbrupt(rval).
4. Return the result of performing BindingInitialization for
BindingPattern passing rval and undefined as arguments.
--- |
1062 |
- |
| fn-name-arrow.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (ArrowFunction)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
--- |
775 |
- |
| fn-name-class.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (ClassExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
features: [class]
--- |
929 |
- |
| fn-name-cover.js |
---
es6id: 13.3.2.4
description: >
Assignment of function `name` attribute (CoverParenthesizedExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
--- |
871 |
- |
| fn-name-fn.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (FunctionExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
--- |
823 |
- |
| fn-name-gen.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (GeneratorExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
features: [generators]
--- |
858 |
- |
| id-arguments-strict.js |
---
es5id: 11.13.1-4-28-s
description: >
Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears
as the LeftHandSideExpression of simple assignment(=) under strict mode
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
474 |
- |
| id-eval-strict.js |
---
es5id: 11.13.1-4-28-s
description: >
Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the
LeftHandSideExpression of simple assignment(=) under strict mode
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
464 |
- |
| S12.2_A1.js |
---
info: |
Variables are created when the program is entered. Variables are initialised to "undefined"
when created. A variable with an Initialiser is assigned the value of its AssignmentExpression when the
VariableStatement is executed, not when the variable is created
es5id: 12.2_A1
description: Creating variables after entering the execution scope
--- |
1934 |
- |
| S12.2_A2.js |
---
info: |
Variables are defined with global scope (that is, they are created as
members of the global object, as described in 10.1.3) using property
attributes { DontDelete}
es5id: 12.2_A2
description: >
Checking if deleting global variables that have the attributes
{DontDelete} fails
flags: [noStrict]
--- |
1638 |
- |
| S12.2_A3.js |
---
info: FunctionDeclaration produces a new scope
es5id: 12.2_A3
description: Using Global scope and Function scope together
--- |
1608 |
- |
| S12.2_A4.js |
---
info: Unicode characters in variable Identifier are allowed
es5id: 12.2_A4
description: Create and use unicode characters in variable Identifier
--- |
855 |
- |
| S12.2_A5.js |
---
info: |
VariableDeclaration within Eval statement is initialized as the program
reaches the eval statement
es5id: 12.2_A5
description: Executing eval("var x")
flags: [noStrict]
--- |
892 |
- |
| S12.2_A6_T1.js |
---
info: VariableDeclaration within "try-catch" statement is allowed
es5id: 12.2_A6_T1
description: Declaring variable within "try-catch" statement
--- |
922 |
- |
| S12.2_A6_T2.js |
---
info: VariableDeclaration within "try-catch" statement is allowed
es5id: 12.2_A6_T2
description: Declaring variables within "try-catch" statement
--- |
940 |
- |
| S12.2_A7.js |
---
info: VariableDeclaration within "for" statement is allowed
es5id: 12.2_A7
description: Declaring variable within "for" statement
--- |
600 |
- |
| S12.2_A8_T1.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T1
description: Checking if execution of "var x += 1" fails
negative:
phase: parse
type: SyntaxError
--- |
581 |
- |
| S12.2_A8_T2.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T2
description: Checking if execution of "var x | true" fails
negative:
phase: parse
type: SyntaxError
--- |
585 |
- |
| S12.2_A8_T3.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T3
description: Checking if execution of "var x && 1" fails
negative:
phase: parse
type: SyntaxError
--- |
581 |
- |
| S12.2_A8_T4.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T4
description: Checking if execution of "var x++" fails
negative:
phase: parse
type: SyntaxError
--- |
575 |
- |
| S12.2_A8_T5.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T5
description: Checking if execution of "var --x" fails
negative:
phase: parse
type: SyntaxError
--- |
575 |
- |
| S12.2_A8_T6.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T6
description: Checking if execution of "var x*1" fails
negative:
phase: parse
type: SyntaxError
--- |
575 |
- |
| S12.2_A8_T7.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T7
description: Checking if execution of "var x>>1" fails
negative:
phase: parse
type: SyntaxError
--- |
577 |
- |
| S12.2_A8_T8.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T8
description: Checking if execution of "var x in __arr" fails
negative:
phase: parse
type: SyntaxError
--- |
602 |
- |
| S12.2_A9.js |
---
info: When using property attributes, {DontEnum} is not used
es5id: 12.2_A9
description: >
Enumerating property attributes of "this" and then searching for
the declared variable
--- |
712 |
- |
| S12.2_A10.js |
---
info: "\"var\" statement within \"for\" statement is allowed"
es5id: 12.2_A10
description: Declaring variable within a "for" IterationStatement
--- |
589 |
- |
| S12.2_A11.js |
---
info: When using property attributes, {ReadOnly} is not used
es5id: 12.2_A11
description: Changing variable value using property attributes
--- |
987 |
- |
| S12.2_A12.js |
---
info: VariableDeclaration within "do-while" loop is allowed
es5id: 12.2_A12
description: Declaring variable within "do-while" statement
--- |
584 |
- |
| S14_A1.js |
---
info: FunctionExpression must be localed in a reacheable fragment of the program
es5id: 14_A1
description: Declaring a function within an "if" Expression
--- |
999 |
- |