Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

DataView

BaselineWidely available *

TheDataView view provides a low-level interface for reading and writing multiple number types in a binaryArrayBuffer, without having to care about the platform'sendianness.

Description

Endianness

Multi-byte number formats are represented in memory differently depending on machine architecture — seeEndianness for an explanation.DataView accessors provide explicit control of how data is accessed, regardless of the executing computer's endianness. For example,WebAssembly memory is always little-endian, so you should useDataView instead of typed arrays to read and write multi-byte values. SeeWebAssembly.Memory for an example.

js
const littleEndian = (() => {  const buffer = new ArrayBuffer(2);  new DataView(buffer).setInt16(0, 256, true /* littleEndian */);  // Int16Array uses the platform's endianness.  return new Int16Array(buffer)[0] === 256;})();console.log(littleEndian); // true or false

Note:DataView defaults to big-endian read and write, but most platforms use little-endian.

Constructor

DataView()

Creates a newDataView object.

Instance properties

These properties are defined onDataView.prototype and shared by allDataView instances.

DataView.prototype.buffer

TheArrayBuffer referenced by this view. Fixed at construction time and thusread only.

DataView.prototype.byteLength

The length (in bytes) of this view. Fixed at construction time and thusread only.

DataView.prototype.byteOffset

The offset (in bytes) of this view from the start of itsArrayBuffer. Fixed at construction time and thusread only.

DataView.prototype.constructor

The constructor function that created the instance object. ForDataView instances, the initial value is theDataView constructor.

DataView.prototype[Symbol.toStringTag]

The initial value of the[Symbol.toStringTag] property is the string"DataView". This property is used inObject.prototype.toString().

Instance methods

DataView.prototype.getBigInt64()

Reads 8 bytes starting at the specified byte offset of thisDataView and interprets them as a 64-bit signed integer.

DataView.prototype.getBigUint64()

Reads 8 bytes starting at the specified byte offset of thisDataView and interprets them as a 64-bit unsigned integer.

DataView.prototype.getFloat16()

Reads 2 bytes starting at the specified byte offset of thisDataView and interprets them as a 16-bit floating point number.

DataView.prototype.getFloat32()

Reads 4 bytes starting at the specified byte offset of thisDataView and interprets them as a 32-bit floating point number.

DataView.prototype.getFloat64()

Reads 8 bytes starting at the specified byte offset of thisDataView and interprets them as a 64-bit floating point number.

DataView.prototype.getInt16()

Reads 2 bytes starting at the specified byte offset of thisDataView and interprets them as a 16-bit signed integer.

DataView.prototype.getInt32()

Reads 4 bytes starting at the specified byte offset of thisDataView and interprets them as a 32-bit signed integer.

DataView.prototype.getInt8()

Reads 1 byte at the specified byte offset of thisDataView and interprets it as an 8-bit signed integer.

DataView.prototype.getUint16()

Reads 2 bytes starting at the specified byte offset of thisDataView and interprets them as a 16-bit unsigned integer.

DataView.prototype.getUint32()

Reads 4 bytes starting at the specified byte offset of thisDataView and interprets them as a 32-bit unsigned integer.

DataView.prototype.getUint8()

Reads 1 byte at the specified byte offset of thisDataView and interprets it as an 8-bit unsigned integer.

DataView.prototype.setBigInt64()

Takes a BigInt and stores it as a 64-bit signed integer in the 8 bytes starting at the specified byte offset of thisDataView.

DataView.prototype.setBigUint64()

Takes a BigInt and stores it as a 64-bit unsigned integer in the 8 bytes starting at the specified byte offset of thisDataView.

DataView.prototype.setFloat16()

Takes a number and stores it as a 16-bit float in the 2 bytes starting at the specified byte offset of thisDataView.

DataView.prototype.setFloat32()

Takes a number and stores it as a 32-bit float in the 4 bytes starting at the specified byte offset of thisDataView.

DataView.prototype.setFloat64()

Takes a number and stores it as a 64-bit float in the 8 bytes starting at the specified byte offset of thisDataView.

DataView.prototype.setInt16()

Takes a number and stores it as a 16-bit signed integer in the 2 bytes at the specified byte offset of thisDataView.

DataView.prototype.setInt32()

Takes a number and stores it as a 32-bit signed integer in the 4 bytes at the specified byte offset of thisDataView.

DataView.prototype.setInt8()

Takes a number and stores it as an 8-bit signed integer in the byte at the specified byte offset of thisDataView.

DataView.prototype.setUint16()

Takes a number and stores it as a 16-bit unsigned integer in the 2 bytes at the specified byte offset of thisDataView.

DataView.prototype.setUint32()

Takes a number and stores it as a 32-bit unsigned integer in the 4 bytes at the specified byte offset of thisDataView.

DataView.prototype.setUint8()

Takes a number and stores it as an 8-bit unsigned integer in the byte at the specified byte offset of thisDataView.

Examples

Using DataView

js
const buffer = new ArrayBuffer(16);const view = new DataView(buffer, 0);view.setInt16(1, 42);view.getInt16(1); // 42

Specifications

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

Browser compatibility

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp