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.
// 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
new DataView(buffer) new DataView(buffer, byteOffset) new DataView(buffer, byteOffset, byteLength)
bufferAn existing ArrayBuffer or SharedArrayBuffer to use as the storage backing the new DataView object.
byteOffset OptionalThe 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 OptionalThe number of elements in the byte array. If unspecified, the view's length will match the buffer's length.
A new DataView object representing the specified data buffer.
RangeErrorThrown if the byteOffset or byteLength parameter values result in the view extending past the end of the buffer. In other words, byteOffset + byteLength > buffer.byteLength.
const buffer = new ArrayBuffer(16); const view = new DataView(buffer, 0); view.setInt16(1, 42); view.getInt16(1); // 42
| 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 |
© 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