JavaScript

ArrayBuffer オブジェクト

 編集:2022.08.10 by T.A.

このオブジェクトは、一般的な固定長の生のバイナリー データ バッファーを表現するために使用します。

ArrayBuffer はバイトの配列で、他の言語ではよく「バイト配列」と呼ばれます。ArrayBuffer の内容を直接操作することはできません。代わりに、バッファーを特定の形式で表現する 型付き配列オブジェクト()または DataView オブジェクトのいずれかを作成して、バッファーの内容を読み書きします。

ArrayBuffer() コンストラクターは、指定した長さの ArrayBuffer をバイト単位で作成します。既存のデータから、たとえば、Base64 文字列やローカルファイルからから配列バッファーを取得することもできます。

コンストラクター
arrayBuffer=new ArrayBuffer(length)
新しい ArrayBuffer オブジェクトを作成します。
静的プロパティ
get ArrayBuffer[@@species]
派生オブジェクトを作成する際に使用するコンストラクター関数です。
インスタンス プロパティ
ArrayBuffer.byteLength 読取専用
ArrayBuffer の長さ(バイト単位)で、読み取り専用です。これは配列が構築されたときに設定され、変更することはできません。
静的メソッド
ArrayBuffer.isView(arg)
arg が型付き配列オブジェクトや DataView のような ArrayBuffer ビューのいずれかである場合は true を返します。それ以外の場合は false を返します。
インスタンス メソッド
ArrayBuffer.slice()
新しい ArrayBuffer に、begin(の位置)から end(の手前)までのバイトのコピーを入れて返します。begin または end のどちらかが負の値の場合は、配列の先頭からではなく、配列の末尾からの位置を指します。
ArrayBuffer の作成

この例では、バッファーを参照する Int32Array ビューを持つ 8 バイトバッファーを作成します。

const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
B=new ArrayBuffer(8); //=[object]:[object ArrayBuffer]
D=B[0]; //=[undefined]:undefined
B[0]=10; //=[object]:[object ArrayBuffer]
	//0=[number]:10
B[0]=300; //=[object]:[object ArrayBuffer]
	//0=[number]:300

テスト