Array-of-length-setter-2.js (438B)
1 // Array.of does a strict assignment to the new object's .length. 2 // The assignment is strict even if the code we're calling from is not strict. 3 4 load(libdir + "asserts.js"); 5 6 function Empty() {} 7 Empty.of = Array.of; 8 Object.defineProperty(Empty.prototype, "length", {get: () => 0}); 9 10 var nothing = new Empty; 11 nothing.length = 2; // no exception; this is not a strict mode assignment 12 13 assertThrowsInstanceOf(() => Empty.of(), TypeError);