DataView() constructor

The DataView() constructor is used to create DataView objects.

Syntax

new DataView(buffer [, byteOffset [, byteLength]])

Parameters

buffer
An existing ArrayBuffer or SharedArrayBuffer to use as the storage backing the new DataView object.
byteOffset Optional
The offset, in bytes, to the first byte in the above buffer for the new view to reference. If unspecified, the buffer view starts with the first byte.
byteLength Optional
The number of elements in the byte array. If unspecified, the view's length will match the buffer's length.

Return value

A new DataView object representing the specified data buffer. (That probably wasn't a very helpful description.)

You can think of the returned object as an "interpreter" of the array buffer of bytes — it knows how to convert numbers to fit within the buffer correctly, both when reading and writing to it. This means handling integer and float conversion, endianness, and other details of representing numbers in binary form.

Exceptions

RangeError

Thrown if the byteOffset or byteLength parameter values result in the view extending past the end of the buffer.

For example, if the buffer is 16 bytes long, the byteOffset is 8, and the byteLength is 10, this error is thrown because the resulting view tries to extend 2 bytes past the total length of the buffer.

Specifications

Specification
ECMAScript Latest Draft (ECMA-262)
The definition of 'DataView constructor' in that specification.

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
DataView() constructorChrome Full support 9Edge Full support 12Firefox Full support 15IE Full support 10Opera Full support 12.1Safari Full support 5.1WebView Android Full support 4Chrome Android Full support 18Firefox Android Full support 15Opera Android Full support 12.1Safari iOS Full support 4.2Samsung Internet Android Full support 1.0nodejs Full support Yes

Legend

Full support  
Full support

See also