The setUint16() method of DataView instances takes a number and stores it as a 16-bit unsigned integer in the 2 bytes starting at the specified byte offset of this DataView. There is no alignment constraint; multi-byte values may be stored at any offset within bounds.
// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer);
view.setUint16(1, 65535); // Max unsigned 16-bit integer
console.log(view.getUint16(1));
// Expected output: 65535setUint16(byteOffset, value)
setUint16(byteOffset, value, littleEndian)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.
littleEndian OptionalIndicates whether the data is stored in little- or big-endian format. If false or undefined, a big-endian value is written.
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.setUint16(0, 3);
dataview.getUint16(1); // 768