ArrayBuffer
とは何か
ざっくりいうと、「生のバイナリデータのバッファ(入れ物)」。
そしてこのArrayBuffer、なんと自身のデータを読み書きするメソッドがない。
ではどうやってデータをArrayBuffer読み書きするのかというと、「型付き配列(typed array)」や「DataView」といった、バッファからデータを読み書きする専用のクラスを介して行う。
(要は、JavaScriptではバイナリを保持する役割(「バッファ」)と読み書きする手段(「ビュー」)で実装を分け(役割分担し)ており、使う側が適宜それらを理解して効率的&高速に使っていこうね、ってこと。)
ArrayBufferが(こいつ単体で)出来ること
-
byteLength
プロパティから、データのバイト長を知る。 -
slice()
メソッドで、部分コピーな新しいArrayBufferをつくる。 - メソッドの引数に渡したりとかの、変数(値)としての取り回しができる。(そりゃな)
以上。
つまり、ArrayBuffer自体は本当に ただの「バイナリデータの塊」 でしかないということ。
なので、「(リトルエンディアン/ビッグエンディアンみたいなバイナリ特有のめんどくさいこと考慮しつつ/しないでよしなに)データの読み書きがしたいんですけどー」みたいなときはその用途専用のビューを使って行きましょうね、という感じ。