var a = []; a[Math.pow(2, 32) - 2] = "max index"; // highest non-expando indexed property console.log(a.length === Math.pow(2, 32) - 1); // true try { a.push("whoa", "EVEN MOAR WHOA"); } catch (e) { console.log(e instanceof RangeError); // true } console.log(a.length === Math.pow(2, 32) - 1); // true console.log(a[Math.pow(2, 32) - 1] === "whoa"); // true console.log(a[Math.pow(2, 32)] === "EVEN MOAR WHOA"); // true