Uint8Array
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.
* Some parts of this feature may have varying levels of support.
Uint8Array
数组类型表示一个 8 位无符号整型数组,创建时内容被初始化为 0。创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素。
语法格式
new Uint8Array(); // ES2017 最新语法 new Uint8Array(length); // 创建初始化为 0 的,包含 length 个元素的无符号整型数组 new Uint8Array(typedArray); new Uint8Array(object); new Uint8Array(buffer [, byteOffset [, length]]);
构造语法和参数的更多信息请参见 TypedArray.
静态属性
Uint8Array.BYTES_PER_ELEMENT
返回数组中元素的字节数,Uint8Array 中返回 1 字节。
- Uint8Array.length
静态属性 length 一直为 0。想获知其真实长度(元素个数),请参阅
Uint8Array.prototype.length
。Uint8Array.prototype
TypedArray 对象的原型。
静态方法
Uint8Array.from()
从一个数组或可迭代的对象创建一个新的
Uint8Array
数组,可参见Array.from()
.Uint8Array.of()
通过一个可变数目的参数创建一个新的
Uint8Array
数组,可参见Array.of()
.
实例属性
还从其父接口 TypedArray
继承实例属性。
Uint8Array.prototype.constructor
返回创建实例属性的函数,默认为
Uint8Array
构造器。Uint8Array.prototype.buffer
只读返回由
Uint8Array
引用的ArrayBuffer
,在构造时期固定,所以是只读的。Uint8Array.prototype.byteLength
只读返回
Uint8Array
长度(字节数)。在构造时期固定,所以是 只读的。Uint8Array.prototype.byteOffset
只读返回
Uint8Array
距离其ArrayBuffer
起始位置的偏移(字节数)。在构造时期固定,所以是 只读的。Uint8Array.prototype.length
只读返回保存在
Uint8Array
中的元素数量。在构造时期固定,所以是 只读的。
实例方法
从其父接口 TypedArray
继承实例方法。
示例
// 来自长度 var uint8 = new Uint8Array(2); uint8[0] = 42; console.log(uint8[0]); // 42 console.log(uint8.length); // 2 console.log(uint8.BYTES_PER_ELEMENT); // 1 // 来自数组 var arr = new Uint8Array([21, 31]); console.log(arr[1]); // 31 // 来自另一个 TypedArray var x = new Uint8Array([21, 31]); var y = new Uint8Array(x); console.log(y[0]); // 21 // 来自 ArrayBuffer var buffer = new ArrayBuffer(8); var z = new Uint8Array(buffer, 1, 4); // 来自一个迭代器 var iterable = (function* () { yield* [1, 2, 3]; })(); var uint8 = new Uint8Array(iterable); // Uint8Array[1, 2, 3]
规范
Specification |
---|
ECMAScript® 2026 Language Specification # table-49 |