Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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を直接操作する際には、その影響範囲を十分に理解しておくことが重要です。

公式リファレンス: DataView.prototype.buffer

構文(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を返します。

関連コンテンツ

関連プログラミング言語