此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
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 类型数组表示二进制补码 8 位有符号整数的数组。内容初始化为 0。一旦建立,你可以使用对象的方法引用数组中的元素,或使用标准数组索引语法 ( 即,使用括号注释)。
In this article
语法
new Int8Array(length);new Int8Array(typedArray);new Int8Array(object);new Int8Array(buffer [, byteOffset [, length]]);
有关构造函数语法和参数的更多信息,请访问TypedArray.
静态属性
Int8Array.BYTES_PER_ELEMENT返回数组中每个元素的大小。在
Int8Array中这个值为 1。- Int8Array.length
此属性为固定值属性,值为 3。查看
Int8Array.prototype.length获得获取数组内元素个数方法。Int8Array.prototypeTypedArray 对象的构造原型。
静态方法
Int8Array.from()从类数组对象或迭代器生成 int8Array 数组对象。参照
Array.from()Int8Array.of()以多个参数构造 Int8Array 对象,参照
Array.of()
实例属性
还从其父接口TypedArray 继承实例属性。
Int8Array.prototype.constructor这个方法会返回对象的构造原型。默认为
Int8Array构造函数。Int8Array.prototype.buffer只读Returns the
ArrayBufferreferenced by theInt8ArrayFixed at construction time and thusread only.Int8Array.prototype.byteLength只读Returns the length (in bytes) of the
Int8Arrayfrom the start of itsArrayBuffer. Fixed at construction time and thusread only.Int8Array.prototype.byteOffset只读Returns the offset (in bytes) of the
Int8Arrayfrom the start of itsArrayBuffer. Fixed at construction time and thusread only.Int8Array.prototype.length只读Returns the number of elements hold in the
Int8Array. Fixed at construction time and thusread only.
实例方法
从其父接口TypedArray 继承实例方法。
示例
// 以长度参数构造对象var int8 = new Int8Array(2);int8[0] = 42;console.log(int8[0]); // 42console.log(int8.length); // 2console.log(int8.BYTES_PER_ELEMENT); // 1// 以数组构造对象var arr = new Int8Array([21, 31]);console.log(arr[1]); // 31// 从另一数组构造对象var x = new Int8Array([21, 31]);var y = new Int8Array(x);console.log(y[0]); // 21// 从 ArrayBuffer 构造对象var buffer = new ArrayBuffer(8);var z = new Int8Array(buffer, 1, 4);规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-typedarray-objects> |
浏览器兼容性
兼容性说明
自 ECMAScript 2015 (ES6) 施行,Int8Array 需要使用new 构造。从当前版本开始,不加 new 而便调用Int8Array 构造器方法,将报出TypeError 错误。
var dv = Int8Array([1, 2, 3]);// TypeError: calling a builtin Int8Array constructor// without new is forbiddenvar dv = new Int8Array([1, 2, 3]);