Array-of-4.js (422B)
1 // Array.of does not trigger prototype setters. 2 // (It defines elements rather than assigning to them.) 3 4 var status = "pass"; 5 Object.defineProperty(Array.prototype, "0", {set: v => status = "FAIL 1"}); 6 assertEq(Array.of(1)[0], 1); 7 assertEq(status, "pass"); 8 9 function Bag() {} 10 Bag.of = Array.of; 11 Object.defineProperty(Bag.prototype, "0", {set: v => status = "FAIL 2"}); 12 assertEq(Bag.of(1)[0], 1); 13 assertEq(status, "pass");