DataView.prototype.setInt16()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
ThesetInt16()
method ofDataView
instances takes a number and stores it as a 16-bit signed integer in the 2 bytes starting at the specified byte offset of thisDataView
. There is no alignment constraint; multi-byte values may be stored at any offset within bounds.
Try it
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(16);const view = new DataView(buffer);view.setInt16(1, 32767); // Max signed 16-bit integerconsole.log(view.getInt16(1));// Expected output: 32767
Syntax
setInt16(byteOffset, value)setInt16(byteOffset, value, littleEndian)
Parameters
byteOffset
The offset, in bytes, from the start of the view to store the data in.
value
The value to set. For how the value is encoded in bytes, seeValue encoding and normalization.
littleEndian
OptionalIndicates whether the data is stored inlittle- or big-endian format. If
false
orundefined
, a big-endian value is written.
Return value
Exceptions
RangeError
Thrown if the
byteOffset
is set such that it would store beyond the end of the view.
Examples
Using setInt16()
const buffer = new ArrayBuffer(10);const dataview = new DataView(buffer);dataview.setInt16(0, 3);dataview.getInt16(1); // 768
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-dataview.prototype.setint16 |