ArrayBuffer() コンストラクター
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
ArrayBuffer() コンストラクターは ArrayBuffer オブジェクトを生成するために使用されます。
試してみましょう
// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(8);
console.log(buffer.byteLength);
// Expected output: 8
構文
js
new ArrayBuffer(length)
new ArrayBuffer(length, options)
引数
length-
作成する配列バッファーのサイズをバイト単位で指定します。
options省略可 Experimental-
オブジェクトであり、以下のプロパティを持つことができます。
maxByteLength省略可 Experimental-
配列バッファーがサイズ変更可能な最大サイズ(バイト単位)。
返値
指定したサイズの新しい ArrayBuffer オブジェクト。その maxByteLength プロパティには、maxByteLength を指定した場合はその値が設定されます。内容は 0 に初期化されます。
例外
RangeError-
以下のいずれかに該当する場合に発生します。
lengthまたはmaxByteLengthがNumber.MAX_SAFE_INTEGER(≥ 253) より大きいか、負の数である。lengthがmaxByteLengthより大きい。
例
>ArrayBuffer の作成
この例では、バッファーを参照する Int32Array ビューを持つ 8 バイトのバッファーを作成しています。
js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
サイズ変更可能な ArrayBuffer の作成
この例では、最大 16 バイトまでリサイズ可能な 8 バイトのバッファーを作成し、resize() でそれを 12 バイトにサイズ変更しています。
js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
buffer.resize(12);
メモ:
maxByteLength は使用する用途に応じて使用可能な最小値に設定することが推奨されます。メモリ不足になる危険を縮小するために、1073741824 (1GB) を超えないようにする必要があります。
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-arraybuffer-constructor> |
ブラウザーの互換性
Loading…