X Tutup

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

View in English Always switch to English

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)

メモ: 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

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-dataview-constructor

ブラウザーの互換性

関連情報

X Tutup