// Copyright (c) 2020 Ecma International. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- 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] ---*/ var obj = {}; Object.preventExtensions(obj); assert.throws(TypeError, function() { obj.prop ||= 1; }); assert.sameValue(obj.prop, undefined, "obj.prop");