var global = 0; Object.defineProperty(Object.prototype, 0, {set: function() { global++; }}); for (var x = 0; x < 20; ++x) [1,2]; assertEq(global, 0); Object.defineProperty(Object.prototype, 1, {set: function() { global++; }}); for (var x = 0; x < 20; ++x) [1,2]; assertEq(global, 0); Object.defineProperty(Object.prototype, "b", {set: function() { global++; }}); for (var x = 0; x < 20; ++x) { var s = { a:0, b:1, 0: 2, 1: 3 }; } assertEq(global, 0); assertEq([42][0], 42); assertEq([42].length, 1);