8.7.2-1-s-strict.js |
---
es5id: 8.7.2-1-s
description: >
Strict Mode - ReferenceError is thrown if LeftHandSide evaluates
to an unresolvable Reference
flags: [onlyStrict]
--- |
423 |
8.7.2-2-s.js |
---
es5id: 8.7.2-2-s
description: >
ReferenceError isn't thrown if LeftHandSide evaluates to a resolvable
Reference
--- |
342 |
8.7.2-3-1-s.js |
---
es5id: 8.7.2-3-1-s
description: eval - a property named 'eval' is permitted
--- |
270 |
8.7.2-3-a-1gs-strict.js |
---
es5id: 8.7.2-3-a-1gs
description: >
Strict Mode - ReferenceError is thrown if LeftHandSide evaluate to
an unresolvable Reference
flags: [onlyStrict]
--- |
399 |
8.7.2-3-a-2gs-strict.js |
---
es5id: 8.7.2-3-a-2gs
description: >
Strict Mode - 'runtime' error is thrown before LeftHandSide
evaluates to an unresolvable Reference
flags: [onlyStrict]
--- |
431 |
8.7.2-3-s-strict.js |
---
es5id: 8.7.2-3-s
description: >
Strict Mode - TypeError is thrown if LeftHandSide is a reference
to a non-writable data property
flags: [onlyStrict]
--- |
527 |
8.7.2-4-s-strict.js |
---
es5id: 8.7.2-4-s
description: >
Strict Mode - TypeError is thrown if LeftHandSide is a reference
to an accessor property with no setter
flags: [onlyStrict]
--- |
596 |
8.7.2-5-s-strict.js |
---
es5id: 8.7.2-5-s
description: >
Strict Mode - TypeError is thrown if LeftHandSide is a reference
to a non-existent property of an non-extensible object
flags: [onlyStrict]
--- |
507 |
8.7.2-6-s.js |
---
es5id: 8.7.2-6-s
description: >
TypeError isn't thrown if LeftHandSide is a reference to a writable data
property
--- |
481 |
8.7.2-7-s.js |
---
es5id: 8.7.2-7-s
description: >
TypeError isn't thrown if LeftHandSide is a reference to an accessor
property with setter
--- |
616 |
8.7.2-8-s.js |
---
es5id: 8.7.2-8-s
description: >
TypeError isn't thrown if LeftHandSide is a reference to a property of an
extensible object
--- |
405 |
browser.js |
|
0 |
get-value-prop-base-primitive-realm.js |
---
esid: sec-getvalue
es6id: 6.2.3.1
description: >
When the base of a property reference is primitive, it is coerced to an
object during value retrieval (honoring the realm of the current execution
context)
info: |
[...]
5. If IsPropertyReference(V) is true, then
a. If HasPrimitiveBase(V) is true, then
i. Assert: In this case, base will never be null or undefined.
ii. Let base be ToObject(base).
b. Return ? base.[[Get]](GetReferencedName(V), GetThisValue(V)).
features: [cross-realm, Symbol]
--- |
1308 |
get-value-prop-base-primitive.js |
---
esid: sec-getvalue
es6id: 6.2.3.1
description: >
When the base of a property reference is primitive, it is coerced to an
object during value retrieval
info: |
[...]
5. If IsPropertyReference(V) is true, then
a. If HasPrimitiveBase(V) is true, then
i. Assert: In this case, base will never be null or undefined.
ii. Let base be ToObject(base).
b. Return ? base.[[Get]](GetReferencedName(V), GetThisValue(V)).
features: [Symbol]
--- |
1036 |
put-value-prop-base-primitive-realm.js |
---
esid: sec-putvalue
es6id: 6.2.3.2
description: >
When the base of a property reference is primitive, it is coerced to an
object during value assignment (honoring the realm of the current execution
context)
info: |
[...]
6. Else if IsPropertyReference(V) is true, then
a. If HasPrimitiveBase(V) is true, then
i. Assert: In this case, base will never be null or undefined.
ii. Set base to ToObject(base).
b. Let succeeded be ? base.[[Set]](GetReferencedName(V), W,
GetThisValue(V)).
c. If succeeded is false and IsStrictReference(V) is true, throw a
TypeError exception.
d. Return.
features: [cross-realm, Symbol, Proxy]
--- |
1830 |
put-value-prop-base-primitive.js |
---
esid: sec-putvalue
es6id: 6.2.3.2
description: >
When the base of a property reference is primitive, it is coerced to an
object during value assignment
info: |
[...]
6. Else if IsPropertyReference(V) is true, then
a. If HasPrimitiveBase(V) is true, then
i. Assert: In this case, base will never be null or undefined.
ii. Set base to ToObject(base).
b. Let succeeded be ? base.[[Set]](GetReferencedName(V), W,
GetThisValue(V)).
c. If succeeded is false and IsStrictReference(V) is true, throw a
TypeError exception.
d. Return.
features: [Symbol, Proxy]
--- |
1638 |
S8.7.1_A1.js |
---
info: |
Delete operator deletes pure property, so it returns true to be applyed
to this.property
es5id: 8.7.1_A1
description: Try to delete this.y, where y is this.y=1
--- |
975 |
S8.7.1_A2.js |
---
info: |
Delete operator can't delete reference, so it returns false to be applyed
to reference
es5id: 8.7.1_A2
description: Try to delete y, where y is var y=1
flags: [noStrict]
--- |
918 |
S8.7.2_A1_T1.js |
---
info: GetValue(V) mast fail
es5id: 8.7.2_A1_T1
description: Checking if execution of "'litera'=1;" fails
negative:
phase: parse
type: SyntaxError
--- |
358 |
S8.7.2_A1_T2.js |
---
info: GetValue(V) mast fail
es5id: 8.7.2_A1_T2
description: Checking if execution of "1=1" fails
negative:
phase: parse
type: SyntaxError
--- |
343 |
S8.7.2_A2.js |
---
info: |
x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportant)
we must have reference to defined value
es5id: 8.7.2_A2
description: Execute x++, where x is var x
--- |
936 |
S8.7.2_A3.js |
---
info: |
this.x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportan)
we must have reference to defined value
es5id: 8.7.2_A3
description: Execute this.x++, where this.x is undefined
--- |
966 |
S8.7_A1.js |
---
info: Multiple Variables should Referring to a Single Object
es5id: 8.7_A1
description: >
Create object and refers to the other object, modify a property in
the original object. We now see that that change is represented
in both variables
--- |
1133 |
S8.7_A2.js |
---
info: Reference to Self-Modifying Object remain the integrity
es5id: 8.7_A2
description: Create a reference to the array, and change original array
--- |
1668 |
S8.7_A3.js |
---
info: Changing the Reference of an Object While Maintaining Integrity
es5id: 8.7_A3
description: >
Create a reference to the array, and redefine original array with
new array
--- |
1098 |
S8.7_A4.js |
---
info: |
Object Modification Resulting in a New Object for Not a Self-Modified
Object leads to loss of integrity
es5id: 8.7_A4
description: >
Create a reference to the string, and Concatenate some new text
onto the string object
--- |
1108 |
S8.7_A5_T1.js |
---
info: Delete unary operator can't delete object to be referenced
es5id: 8.7_A5_T1
description: Delete referenced object, var __ref = obj
flags: [noStrict]
--- |
1999 |
S8.7_A5_T2.js |
---
info: Delete unary operator can't delete object to be referenced
es5id: 8.7_A5_T2
description: Delete referenced object, __ref = obj
flags: [noStrict]
--- |
1979 |
S8.7_A6.js |
---
info: |
Passing arguments by value differs from by reference and do not change
values to be passed
es5id: 8.7_A6
description: Adding original variable with referenced one inside function
--- |
818 |
S8.7_A7.js |
---
info: Passing arguments by reference do change values of reference to be passed
es5id: 8.7_A7
description: Add new property to original variable inside function
--- |
1068 |
shell.js |
|
0 |