--- title: Int16Array slug: Web/JavaScript/Reference/Global_Objects/Int16Array page-type: javascript-class browser-compat: javascript.builtins.Int16Array sidebar: jsref --- The **`Int16Array`** typed array represents an array of 16-bit signed 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). `Int16Array` is a subclass of the hidden {{jsxref("TypedArray")}} class. ## Constructor - {{jsxref("Int16Array/Int16Array", "Int16Array()")}} - : Creates a new `Int16Array` object. ## Static properties _Also inherits static properties from its parent {{jsxref("TypedArray")}}_. - {{jsxref("TypedArray/BYTES_PER_ELEMENT", "Int16Array.BYTES_PER_ELEMENT")}} - : Returns a number value of the element size. `2` in the case of `Int16Array`. ## Static methods _Inherits static methods from its parent {{jsxref("TypedArray")}}_. ## Instance properties _Also inherits instance properties from its parent {{jsxref("TypedArray")}}_. These properties are defined on `Int16Array.prototype` and shared by all `Int16Array` instances. - {{jsxref("TypedArray/BYTES_PER_ELEMENT", "Int16Array.prototype.BYTES_PER_ELEMENT")}} - : Returns a number value of the element size. `2` in the case of an `Int16Array`. - {{jsxref("Object/constructor", "Int16Array.prototype.constructor")}} - : The constructor function that created the instance object. For `Int16Array` instances, the initial value is the {{jsxref("Int16Array/Int16Array", "Int16Array")}} constructor. ## Instance methods _Inherits instance methods from its parent {{jsxref("TypedArray")}}_. ## Examples ### Different ways to create an Int16Array ```js // From a length const int16 = new Int16Array(2); int16[0] = 42; console.log(int16[0]); // 42 console.log(int16.length); // 2 console.log(int16.BYTES_PER_ELEMENT); // 2 // From an array const x = new Int16Array([21, 31]); console.log(x[1]); // 31 // From another TypedArray const y = new Int16Array(x); console.log(y[0]); // 21 // From an ArrayBuffer const buffer = new ArrayBuffer(16); const z = new Int16Array(buffer, 2, 4); console.log(z.byteOffset); // 2 // From an iterable const iterable = (function* () { yield* [1, 2, 3]; })(); const int16FromIterable = new Int16Array(iterable); console.log(int16FromIterable); // Int16Array [1, 2, 3] ``` ## Specifications {{Specifications}} ## Browser compatibility {{Compat}} ## See also - [Polyfill of `Int16Array` in `core-js`](https://github.com/zloirock/core-js#ecmascript-typed-arrays) - [JavaScript typed arrays](/en-US/docs/Web/JavaScript/Guide/Typed_arrays) guide - {{jsxref("TypedArray")}} - {{jsxref("ArrayBuffer")}} - {{jsxref("DataView")}}