DataView() コンストラクター
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 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)
引数
buffer-
既存の
ArrayBufferまたはSharedArrayBufferで、新しいDataViewオブジェクトの背景となるストレージとして使用されます。 byteOffset省略可-
新しいビューが参照するバッファーの最初のバイトまでのオフセットをバイト単位で指定します。指定されていない場合、バッファービューは最初のバイトから始まります。
byteLength省略可-
バイト配列の要素数です。指定しない場合、ビューの長さはバッファーの長さと一致します。
返値
指定されたデータバッファーを表す新しい DataView オブジェクトです。
例外
RangeError-
byteOffsetやbyteLength引数の値がバッファーの末尾を越えて広がる結果になる場合に発生します。言い換えると、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
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-dataview-constructor |