8.12.5-3-b_1.js |
---
es5id: 8.12.5-3-b_1
description: >
Changing the value of a data property should not affect it's
non-value property descriptor attributes.
--- |
1005 |
8.12.5-3-b_2.js |
---
es5id: 8.12.5-3-b_2
description: >
Changing the value of a data property should not affect it's
non-value property descriptor attributes.
--- |
1035 |
8.12.5-5-b_1.js |
---
es5id: 8.12.5-5-b_1
description: >
Changing the value of an accessor property should not affect it's
property descriptor attributes.
--- |
935 |
8.14.4-8-b_1.js |
---
es5id: 8.14.4-8-b_1
description: Non-writable property on a prototype written to.
flags: [noStrict]
--- |
549 |
8.14.4-8-b_2-strict.js |
---
es5id: 8.14.4-8-b_2
description: Non-writable property on a prototype written to in strict mode.
flags: [onlyStrict]
--- |
547 |
11.13.1-1-6-s.js |
---
info: PutValue operates only on references (see step 3.a).
es5id: 11.13.1-1-6-s
description: >
simple assignment throws ReferenceError if LeftHandSide is an
unresolvable reference (base obj undefined)
--- |
488 |
11.13.1-1-s-strict.js |
---
es5id: 11.13.1-1-s
description: >
Strict Mode - TypeError is thrown if The LeftHandSide is a
reference to a data property with the attribute value
{[[Writable]]:false} under strict mode
flags: [onlyStrict]
--- |
708 |
11.13.1-2-s-strict.js |
---
es5id: 11.13.1-2-s
description: >
Strict Mode - TypeError is thrown if The LeftHandSide is a
reference to an accessor property with the attribute value
{[[Set]]:undefined} under strict mode
flags: [onlyStrict]
--- |
761 |
11.13.1-3-s-strict.js |
---
es5id: 11.13.1-3-s
description: >
Strict Mode - TypeError is thrown if The LeftHandSide is a
reference to a non-existent property of an object whose
[[Extensible]] internal property has the value false under strict
mode
flags: [onlyStrict]
--- |
570 |
11.13.1-4-1.js |
---
info: PutValue operates only on references (see step 3.b).
es5id: 11.13.1-4-1
description: >
simple assignment creates property on the global object if
LeftHandSide is an unresolvable reference
flags: [noStrict]
--- |
810 |
11.13.1-4-3-s-strict.js |
---
es5id: 11.13.1-4-3-s
description: >
simple assignment throws TypeError if LeftHandSide is a readonly
property in strict mode (Global.Infinity)
flags: [onlyStrict]
--- |
445 |
11.13.1-4-6-s-strict.js |
---
es5id: 11.13.1-4-6-s
description: >
simple assignment throws TypeError if LeftHandSide is a readonly
property in strict mode (Function.length)
flags: [onlyStrict]
--- |
425 |
11.13.1-4-14-s-strict.js |
---
es5id: 11.13.1-4-14-s
description: >
simple assignment throws TypeError if LeftHandSide is a readonly
property in strict mode (Number.MAX_VALUE)
flags: [onlyStrict]
--- |
428 |
11.13.1-4-27-s-strict.js |
---
es5id: 11.13.1-4-27-s
description: >
simple assignment throws TypeError if LeftHandSide is a readonly
property in strict mode (Global.undefined)
flags: [onlyStrict]
--- |
448 |
11.13.1-4-28gs-strict.js |
---
es5id: 11.13.1-4-28gs
description: >
Strict Mode - TypeError is thrown if the identifier 'Math.PI'
appears as the LeftHandSideExpression of simple assignment(=)
flags: [onlyStrict]
--- |
432 |
11.13.1-4-29gs-strict.js |
---
es5id: 11.13.1-4-29gs
description: >
Strict Mode - TypeError is thrown if the identifier 'Math.PI'
appears as the LeftHandSideExpression of simple assignment(=)
flags: [onlyStrict]
--- |
432 |
assignment-operator-calls-putvalue-lref--rval--1.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Assignment Operator calls PutValue(lref, rval) (formerly S11.13.1_A5_T5)
info: |
The concrete Environment Record method SetMutableBinding for object Environment
Records attempts to set the value of the Environment Record's associated binding
object's property whose name is the value of the argument N to the value of argument V.
A property named N normally already exists but if it does not or is not currently writable,
error handling is determined by the value of the Boolean argument S.
Let stillExists be ? HasProperty(bindings, N).
If stillExists is false and S is true, throw a ReferenceError exception.
flags: [noStrict]
--- |
1223 |
assignment-operator-calls-putvalue-lref--rval-.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Assignment Operator calls PutValue(lref, rval) (formerly S11.13.1_A5_T4)
info: |
The concrete Environment Record method SetMutableBinding for object Environment
Records attempts to set the value of the Environment Record's associated binding
object's property whose name is the value of the argument N to the value of argument V.
A property named N normally already exists but if it does not or is not currently writable,
error handling is determined by the value of the Boolean argument S.
Let stillExists be ? HasProperty(bindings, N).
If stillExists is false and S is true, throw a ReferenceError exception.
flags: [noStrict]
--- |
1159 |
browser.js |
|
0 |
destructuring |
|
|
dstr |
|
|
fn-name-arrow.js |
---
es6id: 12.14.4
description: Assignment of function `name` attribute (ArrowFunction)
info: |
AssignmentExpression[In, Yield] :
LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
e. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let hasNameProperty be HasOwnProperty(rval, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(rval,
GetReferencedName(lref)).
includes: [propertyHelper.js]
--- |
1034 |
fn-name-class.js |
---
es6id: 12.14.4
description: Assignment of function `name` attribute (ClassExpression)
info: |
AssignmentExpression[In, Yield] :
LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
e. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let hasNameProperty be HasOwnProperty(rval, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(rval,
GetReferencedName(lref)).
includes: [propertyHelper.js]
features: [class]
--- |
1197 |
fn-name-cover.js |
---
es6id: 12.14.4
description: >
Assignment of function `name` attribute (CoverParenthesizedExpression)
info: |
AssignmentExpression[In, Yield] :
LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
e. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let hasNameProperty be HasOwnProperty(rval, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(rval,
GetReferencedName(lref)).
includes: [propertyHelper.js]
--- |
1134 |
fn-name-fn.js |
---
es6id: 12.14.4
description: Assignment of function `name` attribute (FunctionExpression)
info: |
AssignmentExpression[In, Yield] :
LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
e. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let hasNameProperty be HasOwnProperty(rval, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(rval,
GetReferencedName(lref)).
includes: [propertyHelper.js]
--- |
1089 |
fn-name-gen.js |
---
es6id: 12.14.4
description: Assignment of function `name` attribute (GeneratorExpression)
info: |
AssignmentExpression[In, Yield] :
LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
e. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let hasNameProperty be HasOwnProperty(rval, "name").
ii. ReturnIfAbrupt(hasNameProperty).
iii. If hasNameProperty is false, perform SetFunctionName(rval,
GetReferencedName(lref)).
includes: [propertyHelper.js]
features: [generators]
--- |
1123 |
fn-name-lhs-cover.js |
---
esid: sec-assignment-operators-runtime-semantics-evaluation
description: Left-hand side as a CoverParenthesizedExpression
info: |
AssignmentExpression[In, Yield, Await] :
LeftHandSideExpression[?Yield, ?Await] = AssignmentExpression[?In, ?Yield, ?Await]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
c. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let rval be NamedEvaluation of AssignmentExpression with argument
GetReferencedName(lref).
includes: [propertyHelper.js]
--- |
969 |
fn-name-lhs-member.js |
---
esid: sec-assignment-operators-runtime-semantics-evaluation
description: Left-hand side as a MemberExpression
info: |
AssignmentExpression[In, Yield, Await] :
LeftHandSideExpression[?Yield, ?Await] = AssignmentExpression[?In, ?Yield, ?Await]
1. If LeftHandSideExpression is neither an ObjectLiteral nor an
ArrayLiteral, then
[...]
c. If IsAnonymousFunctionDefinition(AssignmentExpression) and
IsIdentifierRef of LeftHandSideExpression are both true, then
i. Let rval be NamedEvaluation of AssignmentExpression with argument
GetReferencedName(lref).
includes: [propertyHelper.js]
--- |
967 |
id-arguments-strict-strict.js |
---
es5id: 11.13.1-4-30-s
description: >
Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as
the LeftHandSideExpression (PrimaryExpression) of simple assignment(=).
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
485 |
id-eval-strict-strict.js |
---
es5id: 11.13.1-4-30-s
description: >
Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the
LeftHandSideExpression (PrimaryExpression) of simple assignment(=).
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
475 |
line-terminator.js |
---
description: >
White Space between LeftHandSideExpression and "=" or between "=" and
AssignmentExpression is allowed
es5id: 11.13.1_A1
--- |
414 |
member-expr-ident-name-break-escaped.js |
---
description: break is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-case-escaped.js |
---
description: case is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
614 |
member-expr-ident-name-catch-escaped.js |
---
description: catch is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-class-escaped.js |
---
description: class is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-const-escaped.js |
---
description: const is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-continue-escaped.js |
---
description: continue is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
630 |
member-expr-ident-name-debugger-escaped.js |
---
description: debugger is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
630 |
member-expr-ident-name-default-escaped-ext.js |
---
description: default is a valid identifier name, using extended escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
639 |
member-expr-ident-name-default-escaped.js |
---
description: default is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
626 |
member-expr-ident-name-default.js |
---
description: default is a valid identifier name (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
599 |
member-expr-ident-name-delete-escaped.js |
---
description: delete is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
622 |
member-expr-ident-name-do-escaped.js |
---
description: do is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
606 |
member-expr-ident-name-else-escaped.js |
---
description: else is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
614 |
member-expr-ident-name-enum-escaped.js |
---
description: enum is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
614 |
member-expr-ident-name-export-escaped.js |
---
description: export is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
622 |
member-expr-ident-name-extends-escaped-ext.js |
---
description: extends is a valid identifier name, using extended escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
639 |
member-expr-ident-name-extends-escaped.js |
---
description: extends is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
626 |
member-expr-ident-name-extends.js |
---
description: extends is a valid identifier name (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
599 |
member-expr-ident-name-finally-escaped.js |
---
description: finally is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
626 |
member-expr-ident-name-for-escaped.js |
---
description: for is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
610 |
member-expr-ident-name-function-escaped.js |
---
description: function is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
630 |
member-expr-ident-name-if-escaped.js |
---
description: if is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
606 |
member-expr-ident-name-implements-escaped.js |
---
description: implements is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
652 |
member-expr-ident-name-import-escaped.js |
---
description: import is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
622 |
member-expr-ident-name-in-escaped.js |
---
description: in is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
606 |
member-expr-ident-name-instanceof-escaped.js |
---
description: instanceof is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
638 |
member-expr-ident-name-interface-escaped.js |
---
description: interface is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
648 |
member-expr-ident-name-let-escaped.js |
---
description: let is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
624 |
member-expr-ident-name-new-escaped.js |
---
description: new is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
610 |
member-expr-ident-name-package-escaped.js |
---
description: package is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
640 |
member-expr-ident-name-private-escaped.js |
---
description: private is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
640 |
member-expr-ident-name-protected-escaped.js |
---
description: protected is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
648 |
member-expr-ident-name-public-escaped.js |
---
description: public is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
636 |
member-expr-ident-name-return-escaped.js |
---
description: return is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
622 |
member-expr-ident-name-static-escaped.js |
---
description: static is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
636 |
member-expr-ident-name-super-escaped.js |
---
description: super is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-switch-escaped.js |
---
description: switch is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
622 |
member-expr-ident-name-this-escaped.js |
---
description: this is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
614 |
member-expr-ident-name-throw-escaped.js |
---
description: throw is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-try-escaped.js |
---
description: try is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
610 |
member-expr-ident-name-typeof-escaped.js |
---
description: typeof is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
622 |
member-expr-ident-name-var-escaped.js |
---
description: var is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
610 |
member-expr-ident-name-void-escaped.js |
---
description: void is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
614 |
member-expr-ident-name-while-escaped.js |
---
description: while is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
618 |
member-expr-ident-name-with-escaped.js |
---
description: with is a valid identifier name, using escape (MemberExpression IdentifierName)
esid: prod-PropertyDefinition
flags: [generated]
info: |
MemberExpression:
...
MemberExpression . IdentifierName
Reserved Words
A reserved word is an IdentifierName that cannot be used as an Identifier.
--- |
614 |
non-simple-target.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
info: |
It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
description: Assignment with non-simple target
negative:
phase: parse
type: SyntaxError
--- |
551 |
S8.12.4_A1.js |
---
info: If the property has the ReadOnly attribute, [[CanPut]](P) return false
es5id: 8.12.4_A1
description: Try put other value for Math.E property
flags: [noStrict]
--- |
481 |
S8.12.5_A1.js |
---
info: |
When the [[Put]] method of O is called with property P and value V,
and If O doesn't have a property with name P, then
creates a property with name P, set its value to V and give it empty attributes
es5id: 8.12.5_A1
description: Put to not existent properties
--- |
1536 |
S8.12.5_A2.js |
---
info: |
When the [[Put]] method of O is called with property P and value V,
then set the value of the property to V. The attributes of the property are not changed
es5id: 8.12.5_A2
description: Put to existent properties
--- |
1838 |
S11.13.1_A2.1_T1.js |
---
info: Operator x = y uses GetValue and PutValue
es5id: 11.13.1_A2.1_T1
description: Either AssigmentExpression is not Reference or GetBase is not null
--- |
1315 |
S11.13.1_A2.1_T2.js |
---
info: Operator x = y uses GetValue and PutValue
es5id: 11.13.1_A2.1_T2
description: If GetBase(AssigmentExpression) is null, throw ReferenceError
--- |
573 |
S11.13.1_A3.1.js |
---
info: Operator x = y PutValue(x, y)
es5id: 11.13.1_A3.1
description: Checking Expression and Variable statements
--- |
486 |
S11.13.1_A3.2.js |
---
info: Operator x = y returns GetValue(y)
es5id: 11.13.1_A3.2
description: Checking Expression and Variable statements
--- |
527 |
S11.13.1_A4_T1.js |
---
info: "AssignmentExpression : LeftHandSideExpression = AssignmentExpression"
es5id: 11.13.1_A4_T1
description: Syntax check
--- |
452 |
S11.13.1_A4_T2.js |
---
info: "AssignmentExpression : LeftHandSideExpression = AssignmentExpression"
es5id: 11.13.1_A4_T2
description: Syntax check if "x = x" throws ReferenceError
--- |
581 |
S11.13.1_A5_T1.js |
---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A5_T1
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lref, rval) uses the initially
created Reference even if the environment binding is no longer present.
Binding in surrounding function environment record is not changed.
flags: [noStrict]
--- |
949 |
S11.13.1_A5_T2.js |
---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A5_T2
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lref, rval) uses the initially
created Reference even if the environment binding is no longer present.
Binding in surrounding global environment record is not changed.
flags: [noStrict]
--- |
881 |
S11.13.1_A5_T3.js |
---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A5_T3
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lref, rval) uses the initially
created Reference even if the environment binding is no longer present.
Binding in surrounding object environment record is not changed.
flags: [noStrict]
--- |
986 |
S11.13.1_A6_T1.js |
---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A6_T1
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
declarative environment record. PutValue(lref, rval) uses the initially
created Reference even if a more local binding is available.
flags: [noStrict]
--- |
896 |
S11.13.1_A6_T2.js |
---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A6_T2
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
declarative environment record. PutValue(lref, rval) uses the initially
created Reference even if a more local binding is available.
flags: [noStrict]
--- |
884 |
S11.13.1_A6_T3.js |
---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A6_T3
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
declarative environment record. PutValue(lref, rval) uses the initially
created Reference even if a more local binding is available.
flags: [noStrict]
--- |
869 |
S11.13.1_A7_T4.js |
---
info: Assignment Operator evaluates its operands from left to right.
description: >
The left-hand side expression is evaluated before the right-hand side.
Left-hand side expression is MemberExpression: base[prop]. ToPropertyKey(prop)
is only called once.
--- |
659 |
shell.js |
|
0 |
target-assignment-inside-function.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to assignment
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
--- |
648 |
target-assignment.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to assignment
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
--- |
627 |
target-boolean.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: >
simple assignment throws SyntaxError if LeftHandSide is not a
reference (boolean)
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
--- |
690 |
target-cover-id.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
es6id: 12.14.1
es5id: 11.1.6_A3_T5
description: Applied to a "covered" IdentifierReference
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Reference Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
LeftHandSideExpression is false.
Static Semantics: IsValidSimpleAssignmentTarget
IdentifierReference : Identifier
1. If this IdentifierReference is contained in strict mode code and
StringValue of Identifier is "eval" or "arguments", return false.
2. Return true.
--- |
875 |
target-cover-newtarget.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to a "covered" new.target
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
12.3.1.6 Static Semantics: AssignmentTargetType
NewTarget:
new.target
1. Return invalid.
negative:
phase: parse
type: SyntaxError
features: [new.target]
--- |
782 |
target-cover-yieldexpr.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to a "covered" YieldExpression
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
12.15.3 Static Semantics: IsValidSimpleAssignmentTarget
AssignmentExpression:
YieldExpression
ArrowFunction
AsyncArrowFunction
LeftHandSideExpression = AssignmentExpression
LeftHandSideExpression AssignmentOperator AssignmentExpression
1. Return invalid.
features: [generators]
negative:
phase: parse
type: SyntaxError
--- |
966 |
target-member-computed-reference-null.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates the value prior validating a MemberExpression's reference (null)
info: |
# 13.15.2 Runtime Semantics: Evaluation
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral,
then
a. Let lref be the result of evaluating LeftHandSideExpression.
[...]
e. Perform ? PutValue(lref, rval).
# 6.2.4.5 PutValue ( V, W )
[...]
5. If IsPropertyReference(V) is true, then
a. Let baseObj be ? ToObject(V.[[Base]]).
--- |
1297 |
target-member-computed-reference-undefined.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates the value prior validating a MemberExpression's reference (undefined)
info: |
# 13.15.2 Runtime Semantics: Evaluation
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral,
then
a. Let lref be the result of evaluating LeftHandSideExpression.
[...]
e. Perform ? PutValue(lref, rval).
# 6.2.4.5 PutValue ( V, W )
[...]
5. If IsPropertyReference(V) is true, then
a. Let baseObj be ? ToObject(V.[[Base]]).
--- |
1312 |
target-member-computed-reference.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates its operands from left to right (formerly S11.13.1_A7_T3)
info: |
The left-hand side expression is evaluated before the right-hand side.
Left-hand side expression is MemberExpression: base[prop].
ToPropertyKey(prop) occurs after both sides are evaluated.
--- |
1104 |
target-member-identifier-reference-null.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates the value prior validating a MemberExpression's reference (null)
info: |
# 13.15.2 Runtime Semantics: Evaluation
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral,
then
a. Let lref be the result of evaluating LeftHandSideExpression.
[...]
e. Perform ? PutValue(lref, rval).
# 6.2.4.5 PutValue ( V, W )
[...]
5. If IsPropertyReference(V) is true, then
a. Let baseObj be ? ToObject(V.[[Base]]).
--- |
907 |
target-member-identifier-reference-undefined.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates the value prior validating a MemberExpression's reference (undefined)
info: |
# 13.15.2 Runtime Semantics: Evaluation
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral,
then
a. Let lref be the result of evaluating LeftHandSideExpression.
[...]
e. Perform ? PutValue(lref, rval).
# 6.2.4.5 PutValue ( V, W )
[...]
5. If IsPropertyReference(V) is true, then
a. Let baseObj be ? ToObject(V.[[Base]]).
--- |
917 |
target-newtarget.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to new.target
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
12.3.1.6 Static Semantics: AssignmentTargetType
NewTarget:
new.target
1. Return invalid.
negative:
phase: parse
type: SyntaxError
features: [new.target]
--- |
768 |
target-null.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: >
simple assignment throws SyntaxError if LeftHandSide is not a
reference (null)
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
--- |
687 |
target-number.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: >
simple assignment throws SyntaxError if LeftHandSide is not a
reference (number)
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
--- |
687 |
target-string.js |
---
esid: sec-assignment-operators-static-semantics-early-errors
description: >
simple assignment throws SyntaxError if LeftHandSide is not a
reference (string)
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
--- |
688 |
target-super-computed-reference-null.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates the value prior validating a SuperProperty's reference (null)
info: |
# 13.15.2 Runtime Semantics: Evaluation
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral,
then
a. Let lref be the result of evaluating LeftHandSideExpression.
[...]
e. Perform ? PutValue(lref, rval).
# 6.2.4.5 PutValue ( V, W )
[...]
5. If IsPropertyReference(V) is true, then
a. Let baseObj be ? ToObject(V.[[Base]]).
--- |
961 |
target-super-computed-reference.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates its operands from left to right
info: |
The left-hand side expression is evaluated before the right-hand side.
Left-hand side expression is MemberExpression: super[prop].
ToPropertyKey(prop) occurs after both sides are evaluated.
--- |
1133 |
target-super-identifier-reference-null.js |
---
esid: sec-assignment-operators
description: Assignment Operator evaluates the value prior validating a SuperProperty's reference (null)
info: |
# 13.15.2 Runtime Semantics: Evaluation
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
1. If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral,
then
a. Let lref be the result of evaluating LeftHandSideExpression.
[...]
e. Perform ? PutValue(lref, rval).
# 6.2.4.5 PutValue ( V, W )
[...]
5. If IsPropertyReference(V) is true, then
a. Let baseObj be ? ToObject(V.[[Base]]).
--- |
960 |
white-space.js |
---
description: >
White Space between LeftHandSideExpression and "=" or between "=" and
AssignmentExpression is allowed
es5id: 11.13.1_A1
--- |
1470 |