以下代碼在 javascript 中引發錯誤:
console.log(String( 0n))
但是這段代碼運行成功:
console.log(String(-0n))
為什么 0n會拋出錯誤但-0n沒有?
uj5u.com熱心網友回復:
這樣它就不會破壞 asm.js:
- 一元
后跟一個運算式總是一個數字,或者導致拋出。出于這個原因,不幸的是,在 BigInt 上需要拋出,而不是與Number對稱:否則,以前“型別宣告”的 asm.js 代碼現在將是多型的。
uj5u.com熱心網友回復:
0n被視為 (BigInt(0)),因為一元 意味著“轉換為整數”,并且它不能自動執行(出于某種原因)
console.log( (BigInt(0)));
-0n被視為BigInt(-0),因為負數可以是大整數
(您需要為此檢查您的控制臺,因為我猜 StackSnippets 中存在一個錯誤,阻止 BigInts 被強制轉換為 中的字串console.log call)
console.log(BigInt(-0));
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/350015.html
標籤:javascript 大整数
上一篇:如何將輸入復選框中的值傳遞給jquery中的URL引數
下一篇:檢查是否檢查了任何無線電輸入
