DataView
とは何か
ArrayBuffer内のデータを読み書きするためのビュー。
(ArrayBuffer自身には読み書きする機能はないので、それを補完する立ち位置)
これと類似する型付き配列(typed array)との違いは、「エンディアンをよしなにしてくれないので、バッファ内に書き込まれてるままのバイト順で取り扱う(エンディアンについては開発者側が責任を握る)」ということ。
用途
前述の通り、型付き配列(typed array)と違ってエンディアンを意識しながら触る用途向きなので、使う・見かけることが稀というか、DataViewの利用シーンも型付き配列(typed array)と比べて「(技術的に)濃い」めになりがち。
DataViewの本質的用途は以下。
- ArrayBufferから、指定のエンディアンで(&指定の数値型として)値を読み出す
- ArrayBufferから、指定のエンディアンで(&指定の数値型として)値を書き込む
なお、これらの応用として
- 型付き配列(typed array)と組み合わせることで、「自環境がどちらのエンディアンか」を判定する
などの用途も考えられる。