ArrayBuffer - 物理メモリ領域(バッファ)の確保
ArrayBufferは固定長のバイナリデータを取り扱うための、物理メモリ領域(バッファ)を確保する機能を備えたオブジェクトです。
概要
- 名前
- ArrayBuffer
- 仕様書
- https://tc39.github.io/ecma262/#sec-arraybuffer-objects
チュートリアル
バッファを作成するにはコンストラクタ関数を利用します。引数にはByteを表す数値を指定して下さい。
// 8byte
var buffer = new ArrayBuffer( 8 ) ;
// 256byte
var buffer = new ArrayBuffer( 256 ) ;
コンストラクタ関数の引数を指定しなかった場合、0byteのバッファが作成されます。
var buffer = new ArrayBuffer() ;
なお、バッファの内容を読み書きするには、これを引数にTypedArray、またはDataViewを作成します。
// TypedArray
var typedArray = new Int8Array( buffer ) ;
// DataView
var dataView = new DataView( buffer ) ;
プロパティ
prototype.byteLength
オブジェクトが確保しているバッファの、Byte単位のサイズを返すプロパティです。
prototype.constructor
コンストラクタのArrayBufferを返すプロパティです。
メソッド
isView()
引数の値がArrayBufferView(ビュー)か否かを確認するメソッドです。
prototype.slice()
ArrayBufferの指定した部分を切り取って、新しいArrayBufferを作成するメソッドです。
サポート状況
Features | Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|---|
ArrayBuffer | ● | ● | ● 5.1+ | ● | ● 10+ | ● 11.6+ | ● | ● 4.0+ |
isView() | ● 32+ | ● 29+ | ● 7.1+ | ● | ● 11+ | ● 16+ | ● 8.3+ | × |
prototype | ● | ● | ● 5.1+ | ● | ● 10+ | ● 11.6+ | ● | ● 4.0+ |
byteLength | ● 30+ | ● | ● 11.0+ | ● | ● 10+ | ● 11.6+ | ● 11.0+ | ● 4.4+ |
constructor | ● | ● | ● 7.1+ | ● | ● 10+ | ● 11.6+ | ● 8.3+ | ● 4.0+ |
slice() | ● 17+ | ● 12+ | ● 5.1+ | ● | ● 11+ | ● 15+ | ● 6.0+ | ● 4.4+ |
関連記事
- 指定文字を置換、削除する
- 文字列の中の指定した部分を置換したり削除します。
- DataView
- DataViewは固定長のバイナリデータを読み書きする機能を備えたオブジェクトです。
- FileReader.result
- resultは、FileReaderのプロパティです。読み込んだデータを返します。データの型は、読み込む時にどのメソッドを実行したかで変わります。
- URL.revokeObjectURL()
- revokeObjectURL()は、URLのメソッドです。createObjectURL()で作成したオブジェクトのURLを削除します。