ES7 为 TypedArray 带来了两个新的类型:BigInt64Array 和 BigUint64Array。这两个类型分别支持有符号的 64 位整数和无符号的 64 位整数。在这篇文章中,我们将详细了解这两个类型的新特性以及它们的用途和限制。
TypedArray
首先,让我们回顾一下 TypedArray 是什么。TypedArray 是 JavaScript 中的一种多维数组,它可以存储均一类型的数据。它能够有效地处理大量数据,因为它们只在内存中存储一次,并且可以使用底层二进制数据类型进行高效的操作。此外,TypedArray 还提供了很多方便的方法来访问和操作数据,例如 sort() 和 slice()。
以下是 TypedArray 支持的类型:
- Int8Array
- Uint8Array
- Uint8ClampedArray
- Int16Array
- Uint16Array
- Int32Array
- Uint32Array
- Float32Array
- Float64Array
BigInt64Array 和 BigUint64Array
BigInt64Array 和 BigUint64Array 是 ES7 新增的 TypedArray 类型。它们是有符号和无符号的 64 位整数数组类型,用于处理大型整数或位操作。
BigInt64Array 和 BigUint64Array 的创建方式和其他 TypedArray 类型相同。例如,以下是创建一个长度为 3 的 BigInt64Array 的代码:
--- ------------- - --- -----------------
我们可以使用以下方法访问和操作 BigInt64Array 和 BigUint64Array:
- set() 用于将一个 TypedArray 中的数据复制到当前 TypedArray 中。
- slice() 用于从当前 TypedArray 中返回一个新的 TypedArray。
- subarray() 用于从当前 TypedArray 中返回一个包括从开始索引到结束索引之间的新的 TypedArray。
--- -------------- - --- ------------------ --- ----- --- -------------- - --- ----------------- ----------------------------------- --- -------------- - ----------------------- ---
BigInt64Array 和 BigUint64Array 还支持以下属性:
- length:返回 TypedArray 中元素的数量。
- BYTES_PER_ELEMENT:返回 TypedArray 中每个元素占用的字节数。
--------------------------------------------- -- -- ---------- - --- --- ------------- - --- ----------------- ---------------------------------- -- -- -
示例代码
下面是一个简单的例子,它演示了如何使用 BigInt64Array 和 BigUint64Array 来处理大型整数。
--- ------------- - --- ------------------------------------ -------------------- ------------------------ --- --- - --- --- ---- - - -- - - --------------------- ---- - --- -- ----------------- - ----------------- -- -- ----------------------
总结
ES7 的 BigInt64Array 和 BigUint64Array 提供了一种新的方法来处理大型整数和位操作。这些新类型和其他 TypedArray 类型的使用方式相同,但提供了更大的数值范围和更强的位操作能力。虽然这些新类型很有用,但是它们仅在支持 ES7 的浏览器中才可用。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/651c455595b1f8cacd3d0477