此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Int8Array() 构造函数

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

Int8Array() 构造函数用于创建 Int8Array 对象。除非显式提供初始化数据,否则其内容会被初始化为 0

语法

js
new Int8Array()
new Int8Array(length)
new Int8Array(typedArray)
new Int8Array(object)

new Int8Array(buffer)
new Int8Array(buffer, byteOffset)
new Int8Array(buffer, byteOffset, length)

备注: Int8Array() 只能通过 new 进行构造。如果尝试在没有使用 new 的情况下调用它,会抛出 TypeError 异常。

参数

参见 TypedArray

异常

参见 TypedArray

示例

创建 Int8Array 的不同方式

js
// 通过长度创建
const int8 = new Int8Array(2);
int8[0] = 42;
console.log(int8[0]); // 42
console.log(int8.length); // 2
console.log(int8.BYTES_PER_ELEMENT); // 1

// 通过数组创建
const x = new Int8Array([21, 31]);
console.log(x[1]); // 31

// 通过另一个 TypedArray 创建
const y = new Int8Array(x);
console.log(y[0]); // 21

// 通过 ArrayBuffer 创建
const buffer = new ArrayBuffer(8);
const z = new Int8Array(buffer, 1, 4);
console.log(z.byteOffset); // 1

// 通过可迭代对象创建
const iterable = (function* () {
  yield* [1, 2, 3];
})();
const int8FromIterable = new Int8Array(iterable);
console.log(int8FromIterable);
// Int8Array [1, 2, 3]

规范

Specification
ECMAScript® 2026 Language Specification
# sec-typedarray-constructors

浏览器兼容性

参见