DataView() constructor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It's been available across browsers since July 2015.
The DataView() constructor creates DataView objects.
Try it
// Create an ArrayBuffer with a size in bytes const buffer = new ArrayBuffer(16); // Create a couple of views const view1 = new DataView(buffer); const view2 = new DataView(buffer, 12, 4); // From byte 12 for the next 4 bytes view1.setInt8(12, 42); // Put 42 in slot 12 console.log(view2.getInt8(0)); // Expected output: 42
Syntax
new DataView(buffer) new DataView(buffer, byteOffset) new DataView(buffer, byteOffset, byteLength)
Note: DataView() can only be constructed with new. Attempting to call it without new throws a TypeError.
Parameters
-
buffer - An existing
ArrayBufferorSharedArrayBufferto use as the storage backing the newDataViewobject. -
byteOffsetOptional - 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.
-
byteLengthOptional - 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.
Exceptions
-
RangeError - Thrown if the
byteOffsetorbyteLengthparameter values result in the view extending past the end of the buffer. In other words,byteOffset + byteLength > buffer.byteLength.
Examples
Using DataView
const buffer = new ArrayBuffer(16); const view = new DataView(buffer, 0); view.setInt16(1, 42); view.getInt16(1); // 42
Specifications
Browser compatibility
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
DataView |
9 |
12 |
15 |
12.1 |
5.1 |
18 |
15 |
12.1 |
5 |
1.0 |
4 |
5 |
1.0.0 |
1.0 |
0.10.0 |
sharedarraybuffer_support |
68 |
79 |
79 |
55 |
15.2 |
89 |
79 |
63 |
15.2 |
15.0 |
89 |
15.2 |
1.0.0 |
1.0 |
8.10.0 |
See also
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView/DataView