| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Errors/Invalid_array_length | [Back] [Original] |
Get to know MDN better
JavaScript "Invalid array length" ( Array ArrayBuffer Array.length )
Array 2GB-1 (2^32-1)
ArrayBuffer 32 2GB-1 (2^32-1)
Firefox 89 ArrayBuffer 64 8GB (2^33)
:
Array ArrayBuffer
RangeError: invalid array length (V8-based & Firefox) RangeError: Array size is not a small enough positive integer. (Safari) RangeError: Invalid array buffer length (V8-based) RangeError: length too large (Safari)
RangeError
Array Array length
new Array(2 ** 40);
new Array(-1);
new ArrayBuffer(2 ** 32); //32
new ArrayBuffer(-1);
const a = [];
a.length -= 1; // length -1
const b = new Array(2 ** 32 - 1);
b.length += 1; // length 2^32
b.length = 2.5; // length
const c = new Array(2.5); //
//
const arr = [1, 2, 3];
for (const e of arr) {
arr.push(e * 10);
}
[2 ** 40]; // [ 1099511627776 ]
[-1]; // [ -1 ]
new ArrayBuffer(2 ** 31 - 1);
new ArrayBuffer(2 ** 33); // 64 Firefox 89
new ArrayBuffer(0);
const a = [];
a.length = Math.max(0, a.length - 1);
const b = new Array(2 ** 32 - 1);
b.length = Math.min(0xffffffff, b.length + 1);
// 0xffffffff 2^32 - 1 16
// (-1 >>> 0)
b.length = 3;
const c = new Array(3);
//
//
const arr = [1, 2, 3];
arr.forEach((e) => arr.push(e * 10));
| Web Proxy Viewer | New URL | Original Page |