files/en-us/web/javascript/reference/global_objects/uint16array/index.md
The Uint16Array typed array represents an array of 16-bit unsigned integers in the platform byte order. If control over byte order is needed, use {{jsxref("DataView")}} instead. The contents are initialized to 0 unless initialization data is explicitly provided. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
Uint16Array is a subclass of the hidden {{jsxref("TypedArray")}} class.
Uint16Array object.Also inherits static properties from its parent {{jsxref("TypedArray")}}.
2 in the case of Uint16Array.Inherits static methods from its parent {{jsxref("TypedArray")}}.
Also inherits instance properties from its parent {{jsxref("TypedArray")}}.
These properties are defined on Uint16Array.prototype and shared by all Uint16Array instances.
2 in the case of a Uint16Array.Uint16Array instances, the initial value is the {{jsxref("Uint16Array/Uint16Array", "Uint16Array")}} constructor.Inherits instance methods from its parent {{jsxref("TypedArray")}}.
// From a length
const uint16 = new Uint16Array(2);
uint16[0] = 42;
console.log(uint16[0]); // 42
console.log(uint16.length); // 2
console.log(uint16.BYTES_PER_ELEMENT); // 2
// From an array
const x = new Uint16Array([21, 31]);
console.log(x[1]); // 31
// From another TypedArray
const y = new Uint16Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
const buffer = new ArrayBuffer(16);
const z = new Uint16Array(buffer, 2, 4);
console.log(z.byteOffset); // 2
// From an iterable
const iterable = (function* () {
yield* [1, 2, 3];
})();
const uint16FromIterable = new Uint16Array(iterable);
console.log(uint16FromIterable);
// Uint16Array [1, 2, 3]
{{Specifications}}
{{Compat}}
Uint16Array in core-js