このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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 オブジェクトを生成するために使用します。
In this article
試してみましょう
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(16);// Create a couple of viewsconst view1 = new DataView(buffer);const view2 = new DataView(buffer, 12, 4); // From byte 12 for the next 4 bytesview1.setInt8(12, 42); // Put 42 in slot 12console.log(view2.getInt8(0));// Expected output: 42構文
new DataView(buffer [, byteOffset [, byteLength]])
引数
buffer既存の
ArrayBufferまたはSharedArrayBufferで、新しいDataViewオブジェクトの背景となるストレージとして使用されます。byteOffset省略可新しいビューが参照するバッファーの最初のバイトまでのオフセットをバイト単位で指定します。指定されていない場合、バッファービューは最初のバイトから始まります。
byteLength省略可バイト配列の要素数です。指定しない場合、ビューの長さはバッファーの長さと一致します。
返値
指定されたデータバッファーを表すDataView オブジェクトです。 (これはおそらくあまり役に立たない説明でした。)
返されるオブジェクトは、バイトの配列バッファーの「インタープリター」と考えることができます。 - これは読み書きの際に、バッファー内に正しく収まるように数値を変換する方法を知っています。これは、整数や浮動小数点数の変換、エンディアン、その他バイナリ形式で数値を表現する際の詳細を扱うことを意味します。
例外
RangeErrorbyteOffsetやbyteLength引数の値がバッファーの末尾を超えて広がる結果になる場合に発生します。例えば、バッファーが 16 バイトの長さで、
byteOffsetが 8 バイト、byteLengthが 10 バイトの場合、バッファーの全長を 2 バイト超えるビューを展開しようとするので、このエラーが発生します。
例
>DataView の使用
var buffer = new ArrayBuffer(16);var view = new DataView(buffer, 0);view.setInt16(1, 42);view.getInt16(1); // 42仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-dataview-constructor> |