Int16Array() 构造函数

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Int16Array() 构造函数创建 Int16Array 对象。除非明确提供初始化数据,否则内容将初始化为 0

¥The Int16Array() constructor creates Int16Array objects. The contents are initialized to 0 unless initialization data is explicitly provided.

语法

¥Syntax

js
new Int16Array()
new Int16Array(length)
new Int16Array(typedArray)
new Int16Array(object)

new Int16Array(buffer)
new Int16Array(buffer, byteOffset)
new Int16Array(buffer, byteOffset, length)

注意:Int16Array() 只能与 new 一起构建。尝试在没有 new 的情况下调用它会抛出 TypeError

¥Note: Int16Array() can only be constructed with new. Attempting to call it without new throws a TypeError.

参数

¥Parameters

参见 TypedArray

¥See TypedArray.

例外情况

¥Exceptions

参见 TypedArray

¥See TypedArray.

示例

¥Examples

创建 Int16Array 的不同方法

¥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]

规范

Specification
ECMAScript Language Specification
# sec-typedarray-constructors

¥Specifications

浏览器兼容性

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

¥Browser compatibility

也可以看看