Float16Array

基準線 2025
新推出

自 ⁨2025 年 4 月⁩起,此功能適用於最新裝置和瀏覽器版本。此功能可能不適用於較舊的裝置或瀏覽器。

Float16Array 型別化陣列表示一個 16 位浮點數陣列,採用平臺的位元組序。如果需要控制位元組序,請改用 DataView。除非顯式提供了初始化資料,否則其內容將初始化為 0。一旦建立,您就可以使用該物件的陣列方法或標準的陣列索引語法(即使用方括號表示法)來引用陣列中的元素。

Float16Array 是隱藏的 TypedArray 類的子類。

注意: Float16 的支援並非普遍存在,無論是在 JavaScript API 還是底層 CPU 架構方面。在某些平臺上使用它可能會導致效能下降。它旨在與高度最佳化和效能敏感的系統進行互動,例如 基於浮點數的 canvas、WebGPU、WebGL 以及深度學習模型,包括 stable diffusion

建構函式

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]

規範

規範
ECMAScript® 2026 語言規範
# sec-float16array

瀏覽器相容性

另見