ArrayBuffer() コンストラクター
ArrayBuffer()
コンストラクターは ArrayBuffer
オブジェクトを生成するために使用されます。
試してみましょう
構文
引数
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 Language Specification # sec-arraybuffer-constructor |
ブラウザーの互換性
BCD tables only load in the browser