JavaScript Float16Array
原创Float16Array
Float16Array 是一种类型化数组,用于表示平台字节序中的16位浮点数数组。如果需要控制字节序,应使用 DataView 而不是 Float16Array。除非明确提供初始化数据,否则数组内容将初始化为 0。一旦建立,您可以使用对象的方法或标准数组索引语法(即使用括号表示法)来引用数组中的元素。
Float16Array 是隐藏的 TypedArray 类的子类。
注意:Float16 支持并非在 JavaScript API 和底层 CPU 架构中普遍存在。在某些平台上使用它可能会导致性能下降。它旨在用于与高度优化和性能敏感的系统交互,例如浮点画布、WebGPU、WebGL 和深度学习模型(包括稳定扩散)。
构造函数
Float16Array() - 创建一个新的 Float16Array 对象。
静态属性
Float16Array 还继承自其父类 TypedArray 的静态属性。
Float16Array.BYTES_PER_ELEMENT - 返回一个元素大小的数值。对于 Float16Array,该值为 2。
静态方法
Float16Array 继承自其父类 TypedArray 的静态方法。
实例属性
Float16Array 还继承自其父类 TypedArray 的实例属性。
这些属性定义在 Float16Array.prototype 上,并由所有 Float16Array 实例共享。
Float16Array.prototype.BYTES_PER_ELEMENT - 返回一个元素大小的数值。对于 Float16Array,该值为 2。
Float16Array.prototype.constructor - 创建实例对象的构造函数。对于 Float16Array 实例,初始值为 Float16Array 构造函数。
实例方法
Float16Array 继承自其父类 TypedArray 的实例方法。
创建 Float16Array 的不同方式
// 从长度创建
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
// 从数组创建
const x = new Float16Array([21, 31]);
console.log(x[1]); // 31
// 从另一个 TypedArray 创建
const y = new Float16Array(x);
console.log(y[0]); // 21
// 从 ArrayBuffer 创建
const buffer = new ArrayBuffer(32);
const z = new Float16Array(buffer, 4, 4);
console.log(z.byteOffset); // 4
// 从可迭代对象创建
const iterable = (function* () {
yield* [1, 2, 3];
})();
const float16FromIterable = new Float16Array(iterable);
console.log(float16FromIterable);
// Float16Array [1, 2, 3]
规范
ECMAScript® 2026 语言规范 - Float16Array
浏览器兼容性
自2025年4月起,此功能在最新的设备和浏览器版本中可用。此功能在旧设备或浏览器中可能无法工作。
另请参阅
- JavaScript 类型化数组指南
- TypedArray
- ArrayBuffer
- DataView
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。
开发学习网




