| 11.4.5-2-1-s.js |
---
es5id: 11.4.5-2-1-s
description: Strict Mode - SyntaxError is thrown for --eval
flags: [onlyStrict]
--- |
385 |
- |
| 11.4.5-2-2-s.js |
---
es5id: 11.4.5-2-2-s
description: Strict Mode - SyntaxError is thrown for --arguments
flags: [onlyStrict]
--- |
469 |
- |
| 11.4.5-2-2gs.js |
---
es5id: 11.4.5-2-2gs
description: >
Strict Mode - SyntaxError is throw if the UnaryExpression operated
upon by a Prefix Decrement operator(--arguments)
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
445 |
- |
| 11.4.5-2-3-s.js |
---
es5id: 11.4.5-2-3-s
description: SyntaxError is not thrown for --arguments[...]
--- |
378 |
- |
| bigint.js |
---
description: Prefix decrement for references to BigInt values
esid: sec-prefix-decrement-operator-runtime-semantics-evaluation
info: |
1. Let expr be the result of evaluating UnaryExpression.
2. Let oldValue be ? ToNumeric(? GetValue(expr)).
3. Let newValue be ? Type(oldvalue)::subtract(oldValue, Type(oldValue)::unit).
4. Perform ? PutValue(expr, newValue).
5. Return newValue.
features: [BigInt]
--- |
2585 |
- |
| non-simple.js |
---
info: |
It is an early Reference Error if IsValidSimpleAssignmentTarget of
UnaryExpression is false.
es5id: 12.5.1
description: Applied to a non-simple assignment target
negative:
phase: parse
type: ReferenceError
--- |
436 |
- |
| S11.4.5_A1.js |
---
info: |
White Space and Line Terminator between "--" and UnaryExpression are
allowed
es5id: 11.4.5_A1
description: Checking by using eval
--- |
1591 |
- |
| S11.4.5_A2.1_T1.js |
---
info: Operator --x uses GetValue and PutValue
es5id: 11.4.5_A2.1_T1
description: Type(x) is Reference and GetBase(x) is not null
--- |
1085 |
- |
| S11.4.5_A2.1_T2.js |
---
info: Operator --x uses GetValue and PutValue
es5id: 11.4.5_A2.1_T2
description: If GetBase(x) is null, throw ReferenceError
--- |
490 |
- |
| S11.4.5_A2.2_T1.js |
---
info: Operator --x uses [[Default Value]]
es5id: 11.4.5_A2.2_T1
description: If Type(value) is Object, evaluate ToPrimitive(value, Number)
--- |
4071 |
- |
| S11.4.5_A3_T1.js |
---
info: Operator --x returns x = ToNumber(x) - 1
es5id: 11.4.5_A3_T1
description: Type(x) is boolean primitive or Boolean object
--- |
532 |
- |
| S11.4.5_A3_T2.js |
---
info: Operator --x returns x = ToNumber(x) - 1
es5id: 11.4.5_A3_T2
description: Type(x) is number primitive or Number object
--- |
534 |
- |
| S11.4.5_A3_T3.js |
---
info: Operator --x returns x = ToNumber(x) - 1
es5id: 11.4.5_A3_T3
description: Type(x) is primitive string or String object
--- |
654 |
- |
| S11.4.5_A3_T4.js |
---
info: Operator --x returns x = ToNumber(x) - 1
es5id: 11.4.5_A3_T4
description: Type(x) is undefined or null
--- |
479 |
- |
| S11.4.5_A3_T5.js |
---
info: Operator --x returns x = ToNumber(x) - 1
es5id: 11.4.5_A3_T5
description: Type(x) is Object object or Function object
--- |
557 |
- |
| S11.4.5_A4_T1.js |
---
info: Operator --x returns ToNumber(x) - 1
es5id: 11.4.5_A4_T1
description: Type(x) is boolean primitive or Boolean object
--- |
518 |
- |
| S11.4.5_A4_T2.js |
---
info: Operator --x returns ToNumber(x) - 1
es5id: 11.4.5_A4_T2
description: Type(x) is number primitive or Number object
--- |
519 |
- |
| S11.4.5_A4_T3.js |
---
info: Operator --x returns ToNumber(x) - 1
es5id: 11.4.5_A4_T3
description: Type(x) is string primitive or String object
--- |
635 |
- |
| S11.4.5_A4_T4.js |
---
info: Operator --x returns ToNumber(x) - 1
es5id: 11.4.5_A4_T4
description: Type(x) is undefined or null
--- |
466 |
- |
| S11.4.5_A4_T5.js |
---
info: Operator --x returns ToNumber(x) - 1
es5id: 11.4.5_A4_T5
description: Type(x) is Object object or Function object
--- |
543 |
- |
| S11.4.5_A5_T1.js |
---
info: Operator --x calls PutValue(lhs, newValue)
es5id: S11.4.5_A5_T1
description: >
Evaluating LeftHandSideExpression lhs returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lhs, newValue) 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]
--- |
928 |
- |
| S11.4.5_A5_T2.js |
---
info: Operator --x calls PutValue(lhs, newValue)
es5id: S11.4.5_A5_T2
description: >
Evaluating LeftHandSideExpression lhs returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lhs, newValue) 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]
--- |
850 |
- |
| S11.4.5_A5_T3.js |
---
info: Operator --x calls PutValue(lhs, newValue)
es5id: S11.4.5_A5_T3
description: >
Evaluating LeftHandSideExpression lhs returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lhs, newValue) 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]
--- |
954 |
- |
| S11.4.5_A5_T4.js |
---
info: Operator --x calls PutValue(lhs, newValue)
es5id: S11.4.5_A5_T4
description: >
Evaluating LeftHandSideExpression lhs returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lhs, newValue) uses the initially
created Reference even if the environment binding is no longer present.
No ReferenceError is thrown when '--x' is in strict-mode code and the
original binding is no longer present.
flags: [noStrict]
--- |
873 |
- |
| S11.4.5_A5_T5.js |
---
info: Operator --x calls PutValue(lhs, newValue)
es5id: S11.4.5_A5_T5
description: >
Evaluating LeftHandSideExpression lhs returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lhs, newValue) uses the initially
created Reference even if the environment binding is no longer present.
No ReferenceError is thrown when '--x' is in strict-mode code and the
original binding is no longer present.
--- |
879 |
- |
| S11.4.5_A6_T1.js |
---
info: Operator --x evaluates its reference expression once.
description: >
The operand expression is evaluated exactly once. Operand expression is
MemberExpression: base[prop]. base is the null value.
--- |
692 |
- |
| S11.4.5_A6_T2.js |
---
info: Operator --x evaluates its reference expression once.
description: >
The operand expression is evaluated exactly once. Operand expression is
MemberExpression: base[prop]. base is the undefined value.
--- |
707 |
- |
| S11.4.5_A6_T3.js |
---
info: Operator --x evaluates its reference expression once.
description: >
The operand expression is evaluated exactly once. Operand expression is
MemberExpression: base[prop]. ToPropertyKey(prop) is not called multiple
times.
--- |
562 |
- |
| target-cover-id.js |
---
esid: sec-unary-operators-static-semantics-early-errors
es6id: 12.5.1
es5id: 11.1.6_A3_T5
description: Applied to a "covered" IdentifierReference
info: |
UnaryExpression :
++ UnaryExpression
-- UnaryExpression
- It is an early Reference Error if IsValidSimpleAssignmentTarget of
UnaryExpression 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.
--- |
758 |
- |
| target-cover-newtarget.js |
---
esid: sec-unary-operators-static-semantics-early-errors
es6id: 12.5.1
description: Applied to a "covered" new.target
info: |
UnaryExpression :
++ UnaryExpression
-- UnaryExpression
- It is an early Reference Error if IsValidSimpleAssignmentTarget of
UnaryExpression is false.
12.3.1.5 Static Semantics: IsValidSimpleAssignmentTarget
NewTarget:
new.target
1. Return false.
negative:
phase: parse
type: ReferenceError
--- |
694 |
- |
| target-cover-yieldexpr.js |
---
esid: sec-unary-operators-static-semantics-early-errors
es6id: 12.5.1
description: Applied to a "covered" YieldExpression
info: |
UnaryExpression :
++ UnaryExpression
-- UnaryExpression
- It is an early Reference Error if IsValidSimpleAssignmentTarget of
UnaryExpression is false.
12.15.3 Static Semantics: IsValidSimpleAssignmentTarget
AssignmentExpression:
YieldExpression
ArrowFunction
LeftHandSideExpression = AssignmentExpression
LeftHandSideExpression AssignmentOperator AssignmentExpression
1. Return false.
features: [generators]
negative:
phase: parse
type: ReferenceError
--- |
869 |
- |
| target-newtarget.js |
---
esid: sec-unary-operators-static-semantics-early-errors
es6id: 12.5.1
description: Applied to new.target
info: |
UnaryExpression :
++ UnaryExpression
-- UnaryExpression
- It is an early Reference Error if IsValidSimpleAssignmentTarget of
UnaryExpression is false.
12.3.1.5 Static Semantics: IsValidSimpleAssignmentTarget
NewTarget:
new.target
1. Return false.
negative:
phase: parse
type: ReferenceError
--- |
680 |
- |