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.
Uint8Array()
构造函数创建 Uint8Array
对象。除非明确提供初始化数据,否则内容将初始化为 0
。
¥The Uint8Array()
constructor creates Uint8Array
objects. The contents are initialized to 0
unless initialization data is explicitly provided.
语法
¥Syntax
js
new Uint8Array()
new Uint8Array(length)
new Uint8Array(typedArray)
new Uint8Array(object)
new Uint8Array(buffer)
new Uint8Array(buffer, byteOffset)
new Uint8Array(buffer, byteOffset, length)
注意:
Uint8Array()
只能与new
一起构建。尝试在没有new
的情况下调用它会抛出TypeError
。¥Note:
Uint8Array()
can only be constructed withnew
. Attempting to call it withoutnew
throws aTypeError
.
参数
例外情况
示例
创建 Uint8Array 的不同方法
¥Different ways to create a Uint8Array
js
// From a length
const uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1
// From an array
const x = new Uint8Array([21, 31]);
console.log(x[1]); // 31
// From another TypedArray
const y = new Uint8Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
const buffer = new ArrayBuffer(8);
const z = new Uint8Array(buffer, 1, 4);
console.log(z.byteOffset); // 1
// From an iterable
const iterable = (function* () {
yield* [1, 2, 3];
})();
const uint8FromIterable = new Uint8Array(iterable);
console.log(uint8FromIterable);
// Uint8Array [1, 2, 3]
规范
Specification |
---|
ECMAScript Language Specification # sec-typedarray-constructors |
浏览器兼容性
BCD tables only load in the browser