表示されているページは、編集用 バージョンの MDN Web Docsです

MDN Web Docs のユーザーとして表示: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer

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

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

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

コンストラクタ

ArrayBuffer()
新しい ArrayBuffer オブジェクトを作成します。

静的プロパティ

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

静的メソッド

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

インスタンスプロパティ

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

インスタンスメソッド

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

ArrayBuffer の作成

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

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

仕様

仕様書
ECMAScript (ECMA-262)
ArrayBuffer の定義

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
ArrayBufferChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
ArrayBuffer() constructorChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
byteLengthChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
isViewChrome 完全対応 32Edge 完全対応 12Firefox 完全対応 29IE 完全対応 11Opera 完全対応 19Safari 完全対応 7WebView Android 完全対応 ≤37Chrome Android 完全対応 32Firefox Android 完全対応 29Opera Android 完全対応 19Safari iOS 完全対応 7Samsung Internet Android 完全対応 2.0nodejs 完全対応 4.0.0
sliceChrome 完全対応 17Edge 完全対応 12Firefox 完全対応 12
補足
完全対応 12
補足
補足 The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
IE 完全対応 11Opera 完全対応 12.1Safari 完全対応 6WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 14
補足
完全対応 14
補足
補足 The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
Opera Android 完全対応 12.1Safari iOS 完全対応 6Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.12
@@speciesChrome 完全対応 51Edge 完全対応 13Firefox 完全対応 48IE 未対応 なしOpera 完全対応 38Safari 完全対応 10WebView Android 完全対応 51Chrome Android 完全対応 51Firefox Android 完全対応 48Opera Android 完全対応 41Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.5.0
完全対応 6.5.0
完全対応 6.0.0
無効
無効 From version 6.0.0: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

あわせて参照

ドキュメントのタグと貢献者

最終更新者: silverskyvicto,