Int16Array

Int16Array 类型化数组表示按平台字节顺序排列的 16 位有符号整数数组。如果需要控制字节顺序,请使用 DataView 代替。数组内容初始化为 0。建立后,可以使用对象的方法或标准数组索引语法(即使用方括号表示法)引用数组中的元素。

Int16Array 是隐藏类 TypedArray 的子类。

构造函数

Int16Array() (en-US)

创建一个新的 Int16Array 对象。

静态属性

从父对象 TypedArray 继承静态属性。

Int16Array.BYTES_PER_ELEMENT

返回元素大小的数值。在 Int16Array 中该值为 2

静态方法

从父对象 TypedArray 继承静态方法。

实例属性

从父对象 TypedArray 继承实例属性。

这些属性在 Int16Array.prototype 中定义,并为所有 Int16Array 实例共享。

Int16Array.prototype.BYTES_PER_ELEMENT

返回元素大小的数值。在 Int16Array 中该值为 2

Int16Array.prototype.constructor

创建实例对象的构造函数。对于 Int16Array 实例,初始值是 Int16Array (en-US) 构造函数。

实例方法

从父对象 TypedArray 继承实例方法。

示例

创建 Int16Array 的不同方法

js

// 给定长度
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

// 从一个数组
const x = new Int16Array([21, 31]);
console.log(x[1]); // 31

// 从另外一个 TypedArray
const y = new Int16Array(x);
console.log(y[0]); // 21

// 从一个 ArrayBuffer
const buffer = new ArrayBuffer(16);
const z = new Int16Array(buffer, 2, 4);
console.log(z.byteOffset); // 2

// 从可迭代对象
const iterable = (function* () {
  yield* [1, 2, 3];
})();
const int16FromIterable = new Int16Array(iterable);
console.log(int16FromIterable);
// Int16Array [1, 2, 3]

规范

Specification
ECMAScript Language Specification
# table-49

浏览器兼容性

BCD tables only load in the browser

参见