JavaScript/ArrayBuffer
表示
ArrayBuffer
[編集]概要
[編集]ArrayBuffer
は、生のバイナリデータを表す固定長の生バイトバッファを定義するJavaScriptのオブジェクトです。これは、低レベルのバイナリデータ操作を可能にする、型付き配列とデータビューの基礎となるオブジェクトです。
コンストラクタ
[編集]ArrayBuffer()
[編集]new ArrayBuffer(length)
- 引数
length
: バッファのサイズ(バイト単位)を指定する非負の整数
- 戻り値:指定されたサイズの新しい空の
ArrayBuffer
オブジェクト
静的メソッド
[編集]ArrayBuffer.isView()
[編集]ArrayBuffer.isView(arg)
- 引数
arg
: 確認するオブジェクト
- 戻り値:型付き配列または
DataView
であればtrue
、そうでない場合はfalse
ArrayBuffer.transfer()
[編集]ArrayBuffer.transfer(oldBuffer[, newByteLength])
- 引数
oldBuffer
: 転送元のArrayBuffer
newByteLength
(オプション):新しいバッファのバイト長
- 戻り値:新しい
ArrayBuffer
- 説明:元のバッファから新しいバッファへデータを効率的に転送する
プロパティ
[編集]ArrayBuffer.prototype.byteLength
[編集]- 読み取り専用プロパティ
- バッファのバイト長を返す
メソッド
[編集]ArrayBuffer.prototype.slice()
[編集]arrayBuffer.slice(start[, end])
- 引数
start
:開始バイトインデックスend
(オプション):終了バイトインデックス
- 戻り値:元のバッファの指定された部分を含む新しい
ArrayBuffer
使用例
[編集]// ArrayBufferの作成constbuffer=newArrayBuffer(16);// 型付き配列での使用constint32View=newInt32Array(buffer);int32View[0]=42;// DataViewでのバイト単位操作constdataView=newDataView(buffer);dataView.setInt16(0,0x1234,true);
注意点
[編集]ArrayBuffer
は直接操作できず、型付き配列やDataView
を通じてアクセスする- メモリ効率が高く、バイナリデータの低レベル操作に適している
- WebGL、ファイル操作、ネットワークバッファなど、様々な用途で使用される
関連オブジェクト
[編集]ブラウザサポート
[編集]Internet Explorer 10+- Chrome 7+
- Firefox 4+
- Safari 5.1+
- Edge 12+
仕様
[編集]- ECMAScript 2015 (ES6)