ArrayBuffer
JavaScriptでバイナリを扱う
buffer
物理メモリの領域
>ArrayBuffer はバイナリデータでデータがずらーっと並んでるようなものです
> UintXXArray は ArrayBuffer を決まったバイト数で配列に格納してプログラムで扱えるようにしたものです ref
リニアなメモリをJS上で表現するためのしくみ
メモリ領域の確保
引数は確保したいバイナリの長さ
指定した長さのメモリ空間がバイナリを保存するために確保される
jsconst buf = new ArrayBuffer(30);
メモリ領域に対して操作を行う
以下のいずれかを使う
TypeArray
DataView
Typed Array
型付き配列
通常のArrayと同じように扱える
これを使うことで ArrayBuffer()
で確保したメモリ空間へアクセスできる
jsconst buf = new ArrayBuffer(10);
const view = new Uint8Array(buf);
view[0] = 0x12; // `buf`の0番目に書き込む
console.log(view)
> [18, 0, 0, 0, 0, 0, 0, 0, 0, 0];
高速に読み書き可能
種類
etc.
DataView
TypedArrayよりも高機能なバッファ操作用クラス
用途
画像処理
CanvasのImageData
関連
参考