Uint8Array() 构造函数

基线 广泛可用

此功能已经很成熟,并且可以在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用 2015 年 7 月.

Uint8Array()构造函数创建Uint8Array对象。除非显式提供初始化数据,否则内容将初始化为0

语法

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

参数

请参阅TypedArray

异常

请参阅TypedArray

示例

创建 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]

规范

规范
ECMAScript 语言规范
# sec-typedarray-constructors

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅