This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The setInt8() method of DataView instances takes a number and stores it as an 8-bit signed integer in the byte at the specified byte offset of this DataView.
// Create an ArrayBuffer with a size in bytes const buffer = new ArrayBuffer(16); const view = new DataView(buffer); view.setInt8(1, 127); // Max signed 8-bit integer console.log(view.getInt8(1)); // Expected output: 127
setInt8(byteOffset, value)
byteOffsetThe offset, in bytes, from the start of the view to store the data in.
valueThe value to set. For how the value is encoded in bytes, see Value encoding and normalization.
RangeErrorThrown if the byteOffset is set such that it would store beyond the end of the view.
const buffer = new ArrayBuffer(10); const dataview = new DataView(buffer); dataview.setInt8(0, 3); dataview.getInt8(0); // 3
| 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 | |
setInt8 |
9 | 12 | 15 | 12.1 | 5.1 | 18 | 15 | 12.1 | 5 | 1.0 | 4 | 5 | 1.0.0 | 1.0 | 0.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/setInt8