--- title: ArrayBuffer slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer tags: - ArrayBuffer - Constructor - JavaScript - TypedArrays translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer ---
{{JSRef}}

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

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

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

コンストラクタ

{{jsxref("ArrayBuffer.ArrayBuffer", "ArrayBuffer()")}}
新しい ArrayBuffer オブジェクトを作成します。

静的プロパティ

{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}}
派生オブジェクトを作成する際に使用するコンストラクタ関数です。

静的メソッド

{{jsxref("ArrayBuffer.isView", "ArrayBuffer.isView(arg)")}}
arg型付き配列オブジェクトや {{jsxref("DataView")}} のような ArrayBuffer ビューのいずれかである場合に true を返します。それ以外の場合は false を返します。

インスタンスプロパティ

{{jsxref("ArrayBuffer.prototype.byteLength")}}
ArrayBuffer の読み取り専用サイズ (バイト単位)。これは配列が構築されたときに設定され、変更することはできません。

インスタンスメソッド

{{jsxref("ArrayBuffer.prototype.slice()")}}
ArrayBuffer のバイト数のコピーであり、その内容は、begin (含む) から end (排他的) までのバイト数である。begin または end のどちらかが負の値の場合は、配列の先頭からではなく、配列の末尾からのインデックスを指します。

ArrayBuffer の作成

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

const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);

仕様

仕様書
{{SpecName('ESDraft', '#sec-arraybuffer-objects', 'ArrayBuffer')}}

ブラウザー実装状況

{{Compat("javascript.builtins.ArrayBuffer")}}

あわせて参照