[Go to site: main page, start]

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

DataView() コンストラクター

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

DataView() コンストラクターは、 DataView オブジェクトを生成します。

試してみましょう

// ArrayBuffer をバイト単位のサイズで作成
const buffer = new ArrayBuffer(16);

// いくつかのビューを作成
const view1 = new DataView(buffer);
const view2 = new DataView(buffer, 12, 4); // 12 バイト目から隣接する 4 バイト
view1.setInt8(12, 42); // 42 をスロット 12 に置く

console.log(view2.getInt8(0));
// 予想される結果: 42

構文

js
new DataView(buffer)
new DataView(buffer, byteOffset)
new DataView(buffer, byteOffset, byteLength)

メモ: DataView()new 付きでのみ構築できます。new 無しで呼び出そうとすると、TypeError が発生します。

引数

buffer

既存の ArrayBuffer または SharedArrayBuffer で、新しい DataView オブジェクトの背景となるストレージとして使用されます。

byteOffset 省略可

新しいビューが参照するバッファーの最初のバイトまでのオフセットをバイト単位で指定します。指定されていない場合、バッファービューは最初のバイトから始まります。

byteLength 省略可

バイト配列の要素数です。指定しない場合、ビューの長さはバッファーの長さと一致します。

返値

指定されたデータバッファーを表す新しい DataView オブジェクトです。

例外

RangeError

byteOffsetbyteLength 引数の値がバッファーの末尾を越えて広がる結果になる場合に発生します。言い換えると、byteOffset + byteLength > buffer.byteLength です。

DataView の使用

js
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer, 0);

view.setInt16(1, 42);
view.getInt16(1); // 42

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-dataview-constructor

ブラウザーの互換性

関連情報