您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“JavaScript內置對象BigInt實例分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“JavaScript內置對象BigInt實例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
它在某些方面類似于 Number
,但也有不同點:
不能用于 Math
對象中的方法
不能和任何 Number
實例混合運算,兩者必須轉換成同一種類型
在兩種類型轉換時,可能會丟失精度
const theBiggestInt = 9007199254740991n; const alsoHuge = BigInt(9007199254740991); // ? 9007199254740991n const hugeString = BigInt("9007199254740991"); // ? 9007199254740991n const hugeHex = BigInt("0x1fffffffffffff"); // ? 9007199254740991n const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111"); // ? 9007199254740991n
BigInt.asIntN 靜態方法將 BigInt 值轉換為一個 -2^(width-1) 與 2^(width-1)-1 之間的有符號整數。
const max = 2n ** (64n - 1n) - 1n; BigInt.asIntN(64, max); // ? 9223372036854775807n BigInt.asIntN(64, max + 1n); // ? -9223372036854775808n // negative because of overflow
BigInt.asUintN 靜態方法將 BigInt 轉換為一個 0 和 2^width-1 之間的無符號整數。
const max = 2n ** 64n - 1n; function check64bit(number) { (number > max) ? console.log('Number doesn\'t fit in unsigned 64-bit integer!') : console.log(BigInt.asUintN(64, number)); } check64bit(2n ** 64n); // expected output: "Number doesn't fit in unsigned 64-bit integer!" check64bit(2n ** 32n); // expected output: 4294967296n
返回一個字符串,該字符串具有此 BigInt 的 language-sensitive 表達形式。
const bigint = 123456789123456789n; // German uses period for thousands console.log(bigint.toLocaleString('de-DE')); // expected output: "123.456.789.123.456.789"
它可以本地化數字格式,這樣一來也不用你專門為此功能寫API進行轉換。為此,請確保使用 locales 參數指定該語言
var bigint = 123456789123456789n; // German uses period for thousands console.log(bigint.toLocaleString('de-DE')); // → 123.456.789.123.456.789 // Arabic in most Arabic speaking countries uses Eastern Arabic digits console.log(bigint.toLocaleString('ar-EG')); // → ??????????????????????? // India uses thousands/lakh/crore separators console.log(bigint.toLocaleString('en-IN')); // → 1,23,45,67,89,12,34,56,789 // the nu extension key requests a numbering system, e.g. Chinese decimal console.log(bigint.toLocaleString('zh-Hans-CN-u-nu-hanidec')); // → 一二三,四五六,七八九,一二三,四五六,七八九 // when requesting a language that may not be supported, such as // Balinese, include a fallback language, in this case Indonesian console.log(bigint.toLocaleString(['ban', 'id'])); // → 123.456.789.123.456.789
返回一個字符串,表示指定
BigInt
對象。 后面的 "n" 不是字符串的一部分
console.log(1024n.toString()); // expected output: "1024" console.log(1024n.toString(2)); // expected output: "10000000000" console.log(1024n.toString(16)); // expected output: "400"
返回 BigInt 對象包裝的原始值。
console.log(typeof Object(1n)); // expected output: "object" console.log(typeof Object(1n).valueOf()); // expected output: "bigint"
讀到這里,這篇“JavaScript內置對象BigInt實例分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。