You are on page 1of 4

The DataView view provides a low-level interface for reading and writing

multiple number types in an ArrayBuffer irrespective of the platform's


endianness.
Syntax
new DataView(buffer [, byteOffset [, byteLength]])

Parameters
buffer
An existing ArrayBuffer or SharedArrayBuffer to use as the
storage for the new DataView object.
byteOffset Optional
The offset, in bytes, to the first byte in the specified buffer for the new
view to reference. If not specified, the view of the buffer will start with the
first byte.

byteLength Optional
The number of elements in the byte array. If unspecified, length of the
view will match the buffer's length.

Return value
A new DataView object representing the specified data buffer.

Exceptions
RangeError
Thrown if the byteOffset and byteLength result in the specified view
extending past the end of the buffer.
Description
Endianness
Multi-byte number formats are represented in memory differently
depending on machine architecture, see Endianness for an explanation.
DataView accessors provide explicit control of how data will be accessed
irrespective of the platform architecture's endianness.
var littleEndian = (function() {
var 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

Properties
All DataView instances inherit from DataView.prototype and allows the
addition of properties to all DataView objects.
DataView.prototype.constructor
Specifies the function that creates an object's prototype. The initial
value is the standard built-in DataView constructor.
DataView.prototype.buffer Read only
The ArrayBuffer referenced by this view. Fixed at construction time
and thus read only.
DataView.prototype.byteLength Read only
The length (in bytes) of this view from the start of its ArrayBuffer.
Fixed at construction time and thus read only.
DataView.prototype.byteOffset Read only
The offset (in bytes) of this view from the start of its ArrayBuffer.
Fixed at construction time and thus read only.
Methods
Read
DataView.prototype.getInt8()
Gets a signed 8-bit integer (byte) at the specified byte offset from the start
of the view.

DataView.prototype.getUint8()
Gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset
from the start of the view.

DataView.prototype.getInt16()
Gets a signed 16-bit integer (short) at the specified byte offset from the
start of the view.
DataView.prototype.getUint16()
Gets an unsigned 16-bit integer (unsigned short) at the specified byte
offset from the start of the view.

DataView.prototype.getInt32()
Gets a signed 32-bit integer (long) at the specified byte offset from the
start of the view.

DataView.prototype.getUint32()
Gets an unsigned 32-bit integer (unsigned long) at the specified byte
offset from the start of the view.

DataView.prototype.getFloat32()
Gets a signed 32-bit float (float) at the specified byte offset from the start
of the view.

DataView.prototype.getFloat64()
Gets a signed 64-bit float (double) at the specified byte offset from the
start of the view.

Write
DataView.prototype.setInt8()
Stores a signed 8-bit integer (byte) value at the specified byte offset from
the start of the view.

DataView.prototype.setUint8()
Stores an unsigned 8-bit integer (unsigned byte) value at the specified
byte offset from the start of the view.

DataView.prototype.setInt16()
Stores a signed 16-bit integer (short) value at the specified byte offset
from the start of the view.

DataView.prototype.setUint16()
Stores an unsigned 16-bit integer (unsigned short) value at the specified
byte offset from the start of the view.

DataView.prototype.setInt32()
Stores a signed 32-bit integer (long) value at the specified byte offset from
the start of the view.
DataView.prototype.setUint32()
Stores an unsigned 32-bit integer (unsigned long) value at the specified
byte offset from the start of the view.

DataView.prototype.setFloat32()
Stores a signed 32-bit float (float) value at the specified byte offset from
the start of the view.

DataView.prototype.setFloat64()
Stores a signed 64-bit float (double) value at the specified byte offset from
the start of the view.

Example
var buffer = new ArrayBuffer(16);
var dv = new DataView(buffer, 0);

dv.setInt16(1, 42);
dv.getInt16(1); //42

You might also like