ECMAScript規范中第七大基本類型 BigInt


ES2020 BigInt JS第七大基本類型)

BigInt 是一種內置對象,它提供了一種方法來表示大於 253 - 1 的整數。這原本是 Javascript中可以用 Number 表示的最大數字。BigInt 可以表示任意大的整數。

在Js中,所以的數字都是已雙精度64位浮點格式表示,這會導致Number無法精確表示非常大的整數,會將非常大的整數四舍五入。

Number類的精確范圍在±9007199254740991內 也就是±( 2 53 ± 1 )

js的安全數值范圍和賦值范圍

定義一個BigInt

BigInt字面量:BigInt(123456)

BigInt表達式:123456n

 

 

 

BigInt的運算

BigInt的運算要注意,它在某些方面類似於Number,可以使用一些基本的運算符號進行數學運算。但是不能使用單目運算符(+ -)和無符號右移(>>>)。

在將BigInt轉換Number類型時如果BigInt的數值大於Number類型的安全范圍會導致精度的丟失。

BigInt不能與Number類進行直接運行,系統不會進行隱式轉換,如果需要必須手動轉換成同意類型(一般來說沒有人會用BigInt與Number直接進行運算)

 

 

 

BigIntJson中的使用

對任何 BigInt 值使用 JSON.stringify() 都會引發 TypeError,因為默認情況下 BigInt 值不會在 JSON 中序列化。但是,如果需要,可以實現 toJSON 方法:

 

 

 

 

 

 

來整理一下js中的各大數據類型

七大原始數據類型:undefined null boolean string number Symbol BinInt

引用值類型(不細分):Object Array RegExp Date Math Function

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM