Int8Array

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Int8Array 类型化数组表示一个 8 位有符号整数数组。除非明确提供了初始化数据,否则其内容将初始化为 0。一旦创建,您就可以使用该对象的方法或标准数组索引语法(即使用方括号表示法)来引用数组中的元素。

Int8Array 是隐藏的 TypedArray 类的子类。

构造函数

Int8Array()

创建一个新的 Int8Array 对象。

静态属性

也继承了其父类 TypedArray 的静态属性.

Int8Array.BYTES_PER_ELEMENT

返回元素大小的数值。对于 Int8Array,其值为 1

静态方法

继承了其父类 TypedArray 的静态方法.

实例属性

也继承了其父类 TypedArray 的实例属性.

这些属性定义在 Int8Array.prototype 上,并由所有 Int8Array 实例共享。

Int8Array.prototype.BYTES_PER_ELEMENT

返回元素大小的数值。对于 Int8Array,其值为 1

Int8Array.prototype.constructor

创建实例对象的构造函数。对于 Int8Array 实例,其初始值为 Int8Array 构造函数。

实例方法

继承了其父类 TypedArray 的实例方法.

示例

创建 Int8Array 的不同方法

js
// From a length
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

// From an array
const x = new Int8Array([21, 31]);
console.log(x[1]); // 31

// From another TypedArray
const y = new Int8Array(x);
console.log(y[0]); // 21

// From an ArrayBuffer
const buffer = new ArrayBuffer(8);
const z = new Int8Array(buffer, 1, 4);
console.log(z.byteOffset); // 1

// From an iterable
const iterable = (function* () {
  yield* [1, 2, 3];
})();
const int8FromIterable = new Int8Array(iterable);
console.log(int8FromIterable);
// Int8Array [1, 2, 3]

规范

规范
ECMAScript® 2026 语言规范
# sec-typedarray-objects

浏览器兼容性

另见