このページはコミュニティーの尽力で英語から翻訳されました。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 オブジェクトを生成します。
試してみましょう
// 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® 2027 Language Specification> # sec-dataview-constructor> |
