Float16Array

Float16Array 类型化数组表示平台字节序中的 16 位浮点数数组。如果需要控制字节序,请改用 DataView。内容初始化为 0,除非显式提供初始化数据。一旦建立,您可以使用该对象的 方法 或标准数组索引语法(即使用方括号表示法)引用数组中的元素。

Float16Array 是隐藏的 TypedArray 类的子类。

注意:Float16 支持并非普遍存在,无论是 JavaScript API 还是底层 CPU 架构。在某些平台上使用它可能会导致性能下降。它旨在与高度优化和性能敏感的系统交互,例如 浮点支持的画布、WebGPU、WebGL 和深度学习模型,包括 稳定扩散

构造函数

Float16Array()

创建一个新的 Float16Array 对象。

静态属性

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

Float16Array.BYTES_PER_ELEMENT

返回元素大小的数值。对于 Float16Array 而言为 2

静态方法

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

实例属性

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

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

Float16Array.prototype.BYTES_PER_ELEMENT

返回元素大小的数值。对于 Float16Array 而言为 2

Float16Array.prototype.constructor

创建实例对象的构造函数。对于 Float16Array 实例而言,初始值为 Float16Array 构造函数。

实例方法

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

示例

创建 Float16Array 的不同方法

js
// From a length
const float16 = new Float16Array(2);
float16[0] = 42;
console.log(float16[0]); // 42
console.log(float16.length); // 2
console.log(float16.BYTES_PER_ELEMENT); // 2

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

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

// From an ArrayBuffer
const buffer = new ArrayBuffer(32);
const z = new Float16Array(buffer, 4, 4);
console.log(z.byteOffset); // 4

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

规范

规范
Float16Array
# sec-float16array

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅