JavaScriptのDataView.bufferプロパティとは?使い方を解説
概要
DataViewオブジェクトのbufferプロパティは、そのDataViewが基づいているArrayBufferオブジェクトへの参照を返します。DataViewを作成する際に渡したバッファ本体にアクセスしたい場合に使用する、読み取り専用のプロパティです。
構文
構文は以下のとおりです。
dataView.buffer;
戻り値
DataViewが参照している元のArrayBufferオブジェクトを返します。返されたオブジェクトのbyteLengthプロパティを使えば、バッファ全体のサイズ(バイト数)を確認できます。
使用例
次の例では、156バイトのArrayBufferを作成し、それをもとにDataViewを生成しています。bufferプロパティからバッファを取得し、そのbyteLengthを表示すると、バッファのサイズである「156」が出力されます。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var arrayBuffer = new ArrayBuffer(156);
var dataView = new DataView(arrayBuffer);
document.write(dataView.buffer.byteLength);
</script>
</body>
</html>実行結果
156
ポイント
- bufferプロパティは読み取り専用のため、後から別のArrayBufferに付け替えることはできません。
- DataViewはバイトオフセットや長さを指定して作成できますが、bufferプロパティが返すのは常に元のArrayBuffer全体です。
- バッファの一部だけが必要な場合は、
byteOffsetやbyteLengthプロパティと組み合わせて利用すると便利です。
-
JavaScriptのArrayBuffer.byteLengthプロパティとは?使い方をサンプルコードで解説
ArrayBuffer.byteLengthプロパティは、ArrayBufferオブジェクトが確保しているメモリのサイズをバイト単位で返す読み取り専用のプロパティです。バッファーにどれだけのデータを格納できるかを確認したい場合に便利で、一度作成したArrayBufferのサイズは後から変更できないため、このプロパティで取得できる値は固定となります。 構文 arraybuffer.byteLength 戻り値 ArrayBufferのサイズを表す数値(バイト数)を返します。 サンプルコード 以下は、ArrayBuffer.byteLengthプロパティを使ってバッファーのサイズを画面に表示する
-
JavaScript DataView()とは?ArrayBufferのバイナリデータを読み書きする方法
JavaScript の DataView は、ArrayBuffer(バイナリデータ)に対して、さまざまな数値型の読み書きを行うための低レベルインターフェースを提供するオブジェクトです。DataView を使うことで、1バイト単位で細かく制御しながら、Int16、Int32、Float64 など複数の数値型として同じバッファにアクセスできます。なお、ArrayBuffer はそのままでは直接操作できないため、DataView や TypedArray を介してアクセスする必要があります。DataView の主なメソッドsetInt16(offset, value):指定したオフセット位置に