Name Description Size Coverage
browser.js 0 -
left-hand-side-private-reference-accessor-property-and.js --- description: Logical-and assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 2151 -
left-hand-side-private-reference-accessor-property-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 2127 -
left-hand-side-private-reference-accessor-property-or.js --- description: Logical-or assignment with target being a private reference (to an accessor property with getter and setter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 2146 -
left-hand-side-private-reference-accessor-property-short-circuit-and.js --- description: Logical-and assignment with target being a private reference (to an accessor property with getter and setter (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 2204 -
left-hand-side-private-reference-accessor-property-short-circuit-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to an accessor property with getter and setter (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 2184 -
left-hand-side-private-reference-accessor-property-short-circuit-or.js --- description: Logical-or assignment with target being a private reference (to an accessor property with getter and setter (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. ... 5.c. Let _setter_ be _entry_.[[Set]]. d. Perform ? Call(_setter_, _O_, « _value_ »). sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 2199 -
left-hand-side-private-reference-data-property-and.js --- description: Logical-and assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1919 -
left-hand-side-private-reference-data-property-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 1895 -
left-hand-side-private-reference-data-property-or.js --- description: Logical-or assignment with target being a private reference (to a field) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1914 -
left-hand-side-private-reference-data-property-short-circuit-and.js --- description: Logical-and assignment with target being a private reference (to a field (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1974 -
left-hand-side-private-reference-data-property-short-circuit-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to a field (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 1954 -
left-hand-side-private-reference-data-property-short-circuit-or.js --- description: Logical-or assignment with target being a private reference (to a field (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 3. If _entry_.[[Kind]] is ~field~, then a. Set _entry_.[[Value]] to _value_. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1969 -
left-hand-side-private-reference-method-and.js --- description: Logical-and assignment with target being a private reference (to a private method) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1818 -
left-hand-side-private-reference-method-short-circuit-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to a private method (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 2036 -
left-hand-side-private-reference-method-short-circuit-or.js --- description: Logical-or assignment with target being a private reference (to a private method (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 4. Else if _entry_.[[Kind]] is ~method~, then a. Throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 2045 -
left-hand-side-private-reference-readonly-accessor-property-and.js --- description: Logical-and assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1861 -
left-hand-side-private-reference-readonly-accessor-property-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 1845 -
left-hand-side-private-reference-readonly-accessor-property-or.js --- description: Logical-or assignment with target being a private reference (to an accessor property with getter) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1858 -
left-hand-side-private-reference-readonly-accessor-property-short-circuit-and.js --- description: Logical-and assignment with target being a private reference (to an accessor property with getter (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression &&= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *false*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 2003 -
left-hand-side-private-reference-readonly-accessor-property-short-circuit-nullish.js --- description: Nullish-coalescing assignment with target being a private reference (to an accessor property with getter (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ??= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. If _lval_ is neither *undefined* nor *null*, return _lval_. ... 6. Perform ? PutValue(_lref_, _rval_). 7. Return _rval_. --- 1983 -
left-hand-side-private-reference-readonly-accessor-property-short-circuit-or.js --- description: Logical-or assignment with target being a private reference (to an accessor property with getter (short-circuit version)) esid: sec-assignment-operators-runtime-semantics-evaluation features: [class-fields-private, logical-assignment-operators] flags: [generated] info: | sec-property-accessors-runtime-semantics-evaluation MemberExpression : MemberExpression `.` PrivateIdentifier 1. Let _baseReference_ be the result of evaluating |MemberExpression|. 2. Let _baseValue_ be ? GetValue(_baseReference_). 3. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 4. Return ! MakePrivateReference(_baseValue_, _fieldNameString_). PutValue (V, W) ... 5.b. If IsPrivateReference(_V_) is *true*, then i. Return ? PrivateSet(_baseObj_, _V_.[[ReferencedName]], _W_). PrivateSet (O, P, value) ... 5.a. Assert: _entry_.[[Kind]] is ~accessor~. b. If _entry_.[[Set]] is *undefined*, throw a *TypeError* exception. sec-assignment-operators-runtime-semantics-evaluation AssignmentExpression : LeftHandSideExpression ||= AssignmentExpression 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. 2. Let _lval_ be ? GetValue(_lref_). 3. Let _lbool_ be ! ToBoolean(_lval_). 4. If _lbool_ is *true*, return _lval_. ... 7. Perform ? PutValue(_lref_, _rval_). 8. Return _rval_. --- 1998 -
lgcl-and-arguments-strict-strict.js --- esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Logical Assignment operator(&&=) flags: [onlyStrict] negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 526 -
lgcl-and-assignment-operator-bigint.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: Logical And Assignment Operator features: [BigInt, logical-assignment-operators] info: | AssignmentExpression: LeftHandSideExpression &&= AssignmentExpression 1. Let lref be the result of evaluating LeftHandSideExpression. 2. Let lval be ? GetValue(lref). 3. Let lbool be ! ToBoolean(lval). 4. If lbool is false, return lval. 5. Let rref be the result of evaluating AssignmentExpression. 6. Let rval be ? GetValue(rref). 7. Perform ? PutValue(lref, rval). 8. Return rval. --- 947 -
lgcl-and-assignment-operator-lhs-before-rhs.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > The LeftHandSideExpression is evaluated before the AssignmentExpression. features: [logical-assignment-operators] --- 1328 -
lgcl-and-assignment-operator-namedevaluation-arrow-function.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical And Assignment info: | AssignmentExpression: LeftHandSideExpression &&= AssignmentExpression 5. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 729 -
lgcl-and-assignment-operator-namedevaluation-class-expression.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical And Assignment info: | AssignmentExpression: LeftHandSideExpression &&= AssignmentExpression 5. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 729 -
lgcl-and-assignment-operator-namedevaluation-function.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical And Assignment info: | AssignmentExpression: LeftHandSideExpression &&= AssignmentExpression 5. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 734 -
lgcl-and-assignment-operator-no-set-put-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if the LeftHandSide of a Logical Assignment operator(&&=) is a reference to a data property with the attribute value {[[Set]]:undefined} and PutValue step is reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 792 -
lgcl-and-assignment-operator-no-set-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if the LeftHandSide of a Logical Assignment operator(&&=) is a reference to a data property with the attribute value {[[Set]]:undefined} and PutValue step is not reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 746 -
lgcl-and-assignment-operator-non-extensible-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if The LeftHandSide of a Logical Assignment operator(&&=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false. flags: [onlyStrict] features: [logical-assignment-operators] --- 647 -
lgcl-and-assignment-operator-non-simple-lhs.js --- esid: sec-assignment-operators-static-semantics-early-errors description: > It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 489 -
lgcl-and-assignment-operator-non-writeable-put-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if the LeftHandSide of a Logical Assignment operator(&&=) is a reference to a data property with the attribute value {[[Writable]]:false} and PutValue step is reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 767 -
lgcl-and-assignment-operator-non-writeable-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if the LeftHandSide of a Logical Assignment operator(&&=) is a reference to a data property with the attribute value {[[Writable]]:false} and PutValue step is not reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 721 -
lgcl-and-assignment-operator-unresolved-lhs-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is thrown if the LeftHandSideExpression of a Logical Assignment operator(&&=) evaluates to an unresolvable reference flags: [onlyStrict] features: [logical-assignment-operators] --- 529 -
lgcl-and-assignment-operator-unresolved-rhs-put.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is thrown if the AssignmentExpression of a Logical Assignment operator(&&=) evaluates to an unresolvable reference and the AssignmentExpression is evaluated. features: [logical-assignment-operators] --- 597 -
lgcl-and-assignment-operator-unresolved-rhs.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is not thrown if the AssignmentExpression of a Logical Assignment operator(&&=) evaluates to an unresolvable reference and the AssignmentExpression is not evaluated. features: [logical-assignment-operators] --- 549 -
lgcl-and-assignment-operator.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: Logical And Assignment Operator info: | AssignmentExpression: LeftHandSideExpression &&= AssignmentExpression 1. Let lref be the result of evaluating LeftHandSideExpression. 2. Let lval be ? GetValue(lref). 3. Let lbool be ! ToBoolean(lval). 4. If lbool is false, return lval. 5. Let rref be the result of evaluating AssignmentExpression. 6. Let rval be ? GetValue(rref). 7. Perform ? PutValue(lref, rval). 8. Return rval. features: [logical-assignment-operators] --- 1927 -
lgcl-and-eval-strict-strict.js --- esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Logical Assignment operator(&&=) flags: [onlyStrict] negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 512 -
lgcl-and-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Logical "&&=" assignment with non-simple target negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 524 -
lgcl-and-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed esid: sec-assignment-operators description: Checking by evaluating expression "x[...]&&=[...]y" features: [logical-assignment-operators] --- 1668 -
lgcl-nullish-arguments-strict-strict.js --- esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Logical Assignment operator(??=) flags: [onlyStrict] negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 526 -
lgcl-nullish-assignment-operator-bigint.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: Logical Nullish Assignment Operator features: [BigInt, logical-assignment-operators] info: | AssignmentExpression: LeftHandSideExpression ??= AssignmentExpression 1. Let lref be the result of evaluating LeftHandSideExpression. 2. Let lval be ? GetValue(lref). 3. If lval is neither undefined nor null, return lval. 4. Let rref be the result of evaluating AssignmentExpression. 5. Let rval be ? GetValue(rref). 6. Perform ? PutValue(lref, rval). 7. Return rval. --- 932 -
lgcl-nullish-assignment-operator-lhs-before-rhs.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > The LeftHandSideExpression is evaluated before the AssignmentExpression. features: [logical-assignment-operators] --- 1312 -
lgcl-nullish-assignment-operator-namedevaluation-arrow-function.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical Nullish Assignment info: | AssignmentExpression: LeftHandSideExpression ??= AssignmentExpression 4. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 741 -
lgcl-nullish-assignment-operator-namedevaluation-class-expression.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical Nullish Assignment info: | AssignmentExpression: LeftHandSideExpression ??= AssignmentExpression 4. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 741 -
lgcl-nullish-assignment-operator-namedevaluation-function.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical Nullish Assignment info: | AssignmentExpression: LeftHandSideExpression ??= AssignmentExpression 4. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 746 -
lgcl-nullish-assignment-operator-no-set-put-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if the LeftHandSide of a Logical Assignment operator(??=) is a reference to a data property with the attribute value {[[Set]]:undefined} and PutValue step is reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 808 -
lgcl-nullish-assignment-operator-no-set-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if the LeftHandSide of a Logical Assignment operator(??=) is a reference to a data property with the attribute value {[[Set]]:undefined} and PutValue step is not reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 746 -
lgcl-nullish-assignment-operator-non-extensible-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Logical Assignment operator(??=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false. flags: [onlyStrict] features: [logical-assignment-operators] --- 687 -
lgcl-nullish-assignment-operator-non-simple-lhs.js --- esid: sec-assignment-operators-static-semantics-early-errors description: > It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 489 -
lgcl-nullish-assignment-operator-non-writeable-put-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if the LeftHandSide of a Logical Assignment operator(??=) is a reference to a data property with the attribute value {[[Writable]]:false} and PutValue step is reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 783 -
lgcl-nullish-assignment-operator-non-writeable-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if the LeftHandSide of a Logical Assignment operator(??=) is a reference to a data property with the attribute value {[[Writable]]:false} and PutValue step is not reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 721 -
lgcl-nullish-assignment-operator-unresolved-lhs-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is thrown if the LeftHandSideExpression of a Logical Assignment operator(??=) evaluates to an unresolvable reference flags: [onlyStrict] features: [logical-assignment-operators] --- 529 -
lgcl-nullish-assignment-operator-unresolved-rhs-put.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is thrown if the AssignmentExpression of a Logical Assignment operator(??=) evaluates to an unresolvable reference and the AssignmentExpression is evaluated. features: [logical-assignment-operators] --- 613 -
lgcl-nullish-assignment-operator-unresolved-rhs.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is not thrown if the AssignmentExpression of a Logical Assignment operator(??=) evaluates to an unresolvable reference and the AssignmentExpression is not evaluated. features: [logical-assignment-operators] --- 549 -
lgcl-nullish-assignment-operator.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: Logical Nullish Assignment Operator info: | AssignmentExpression: LeftHandSideExpression ??= AssignmentExpression 1. Let lref be the result of evaluating LeftHandSideExpression. 2. Let lval be ? GetValue(lref). 3. If lval is neither undefined nor null, return lval. 4. Let rref be the result of evaluating AssignmentExpression. 5. Let rval be ? GetValue(rref). 6. Perform ? PutValue(lref, rval). 7. Return rval. features: [logical-assignment-operators] --- 1919 -
lgcl-nullish-eval-strict-strict.js --- esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Logical Assignment operator(??=) flags: [onlyStrict] negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 512 -
lgcl-nullish-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Logical "??=" assignment with non-simple target negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 524 -
lgcl-nullish-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed esid: sec-assignment-operators description: Checking by evaluating expression "x[...]??=[...]y" features: [logical-assignment-operators] --- 1698 -
lgcl-or-arguments-strict-strict.js --- esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Logical Assignment operator(||=) flags: [onlyStrict] negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 526 -
lgcl-or-assignment-operator-bigint.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: Logical Or Assignment Operator features: [BigInt, logical-assignment-operators] info: | AssignmentExpression: LeftHandSideExpression ||= AssignmentExpression 1. Let lref be the result of evaluating LeftHandSideExpression. 2. Let lval be ? GetValue(lref). 3. Let lbool be ! ToBoolean(lval). 4. If lbool is true, return lval. 5. Let rref be the result of evaluating AssignmentExpression. 6. Let rval be ? GetValue(rref). 7. Perform ? PutValue(lref, rval). 8. Return rval. --- 945 -
lgcl-or-assignment-operator-lhs-before-rhs.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > The LeftHandSideExpression is evaluated before the AssignmentExpression. features: [logical-assignment-operators] --- 1312 -
lgcl-or-assignment-operator-namedevaluation-arrow-function.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical Or Assignment info: | AssignmentExpression: LeftHandSideExpression ||= AssignmentExpression 5. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 728 -
lgcl-or-assignment-operator-namedevaluation-class-expression.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical Or Assignment info: | AssignmentExpression: LeftHandSideExpression ||= AssignmentExpression 5. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 728 -
lgcl-or-assignment-operator-namedevaluation-function.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: NamedEvaluation of Logical Or Assignment info: | AssignmentExpression: LeftHandSideExpression ||= AssignmentExpression 5. If IsAnonymousFunctionDefinition(AssignmentExpression) and IsIdentifierRef of LeftHandSideExpression are both true, then a. Let rval be NamedEvaluation of AssignmentExpression with argument GetReferencedName(lref). features: [logical-assignment-operators] --- 733 -
lgcl-or-assignment-operator-no-set-put-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if the LeftHandSide of a Logical Assignment operator(||=) is a reference to a data property with the attribute value {[[Set]]:undefined} and PutValue step is reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 792 -
lgcl-or-assignment-operator-no-set-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if the LeftHandSide of a Logical Assignment operator(||=) is a reference to a data property with the attribute value {[[Set]]:undefined} and PutValue step is not reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 746 -
lgcl-or-assignment-operator-non-extensible-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if The LeftHandSide of a Logical Assignment operator(||=) is a reference to a non-existent property of an object whose [[Extensible]] internal property is false. flags: [onlyStrict] features: [logical-assignment-operators] --- 687 -
lgcl-or-assignment-operator-non-simple-lhs.js --- esid: sec-assignment-operators-static-semantics-early-errors description: > It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 489 -
lgcl-or-assignment-operator-non-writeable-put-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is thrown if the LeftHandSide of a Logical Assignment operator(||=) is a reference to a data property with the attribute value {[[Writable]]:false} and PutValue step is reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 767 -
lgcl-or-assignment-operator-non-writeable-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > Strict Mode - TypeError is not thrown if the LeftHandSide of a Logical Assignment operator(||=) is a reference to a data property with the attribute value {[[Writable]]:false} and PutValue step is not reached. flags: [onlyStrict] features: [logical-assignment-operators] --- 721 -
lgcl-or-assignment-operator-unresolved-lhs-strict.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is thrown if the LeftHandSideExpression of a Logical Assignment operator(||=) evaluates to an unresolvable reference flags: [onlyStrict] features: [logical-assignment-operators] --- 529 -
lgcl-or-assignment-operator-unresolved-rhs-put.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is thrown if the AssignmentExpression of a Logical Assignment operator(||=) evaluates to an unresolvable reference and the AssignmentExpression is evaluated. features: [logical-assignment-operators] --- 597 -
lgcl-or-assignment-operator-unresolved-rhs.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: > ReferenceError is not thrown if the AssignmentExpression of a Logical Assignment operator(||=) evaluates to an unresolvable reference and the AssignmentExpression is not evaluated. features: [logical-assignment-operators] --- 549 -
lgcl-or-assignment-operator.js --- esid: sec-assignment-operators-runtime-semantics-evaluation description: Logical Or Assignment Operator info: | AssignmentExpression: LeftHandSideExpression ||= AssignmentExpression 1. Let lref be the result of evaluating LeftHandSideExpression. 2. Let lval be ? GetValue(lref). 3. Let lbool be ! ToBoolean(lval). 4. If lbool is true, return lval. 5. Let rref be the result of evaluating AssignmentExpression. 6. Let rval be ? GetValue(rref). 7. Perform ? PutValue(lref, rval). 8. Return rval. features: [logical-assignment-operators] --- 1917 -
lgcl-or-eval-strict-strict.js --- esid: sec-assignment-operators description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Logical Assignment operator(||=) flags: [onlyStrict] negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 512 -
lgcl-or-non-simple.js --- esid: sec-assignment-operators-static-semantics-early-errors info: | It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is invalid or strict. description: Logical "||=" assignment with non-simple target negative: phase: parse type: SyntaxError features: [logical-assignment-operators] --- 524 -
lgcl-or-whitespace.js --- info: | White Space and Line Terminator between LeftHandSideExpression and "@=" or between "@=" and AssignmentExpression are allowed esid: sec-assignment-operators description: Checking by evaluating expression "x[...]||=[...]y" features: [logical-assignment-operators] --- 1668 -
shell.js 0 -