【JavaScript ECMAScript】DataView::DataView.prototype.bufferインスタンスアクセサプロパティの使い方
DataView.prototype.bufferインスタンスアクセサプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
DataView.prototype.bufferプロパティは、DataViewオブジェクトが参照している元のArrayBufferオブジェクトを保持するプロパティです。JavaScriptにおけるArrayBufferは、固定長の生のバイナリデータを格納するためのメモリ領域であり、このArrayBuffer自体を直接読み書きすることはできません。DataViewは、このArrayBuffer内の特定のバイト範囲を、様々な数値データ型(例えば、符号付き8ビット整数、32ビット浮動小数点数など)として読み書きするためのインターフェースを提供します。
このbufferプロパティは、あるDataViewインスタンスが、どのArrayBufferをデータソースとして利用しているのかを簡単に確認できるように設計されています。DataViewを作成する際に、ArrayBuffer全体の一部(オフセットと長さで指定)のみを参照するように設定した場合でも、このbufferプロパティは常にDataViewが基としているArrayBufferオブジェクト全体を返します。
例えば、複数のDataViewが同じArrayBufferの異なる部分を参照している場合でも、それぞれのDataViewインスタンスのbufferプロパティは、すべて同じ元のArrayBufferオブジェクトを返します。これにより、DataViewを通じて操作しているデータがどの物理的なメモリバッファに由来するのかを明確に識別できます。元のArrayBufferの内容が変更された場合、それを参照しているすべてのDataViewやTypedArrayにその変更が反映されるため、このプロパティを通じてArrayBufferを直接操作する際には、その影響範囲を十分に理解しておくことが重要です。
構文(syntax)
1const buffer = new ArrayBuffer(16); 2const dataView = new DataView(buffer); 3 4const retrievedBuffer = dataView.buffer; 5 6console.log(retrievedBuffer === buffer);
引数(parameters)
引数なし
引数はありません
戻り値(return)
ArrayBuffer | SharedArrayBuffer
DataViewオブジェクトが関連付けられているArrayBufferまたはSharedArrayBufferを返します。