JavaScript BigInt
JavaScriptのBigInt
変数は、大きすぎて通常のJavaScriptでは表現できない大きな整数値を格納するために使用されます。
JavaScript整数精度
JavaScriptの整数は15桁までしか正確ではありません。
JavaScriptでは、すべての数値が64ビット浮動小数点形式(IEEE 754 標準)で格納されます。
この標準では、大きな整数を正確に表すことができず、丸められます。
このため、JavaScriptは整数のみを安全に表現できます。
9007199254740991+(253-1)まで
そして、
-9007199254740991-(253-1)まで。
この範囲外の整数値は精度を失います。
BigInt の作成方法
BigInt
を作成するには、整数または呼び出しの末尾にnを追加するか、次のように呼び出しますBigInt()
。
例
let x = 9999999999999999;
let y = 9999999999999999n;
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)
BigInt: 新しいJavaScriptデータ型
JavaScriptのBigInt
の型
は「bigint」です。
BigInt
は、JavaScriptの2 番目の数値データ型です 。
BigInt
は、JavaScriptでサポートされているデータ型の総数は8です。
- String
- Number
- Bigint
- Boolean
- Undefined
- Null
- Symbol
- Object
BigInt演算子
JavaScriptで使用できる演算子はNumber
、BigInt
です。
注意
BigInt
とNumber
間の算術は許可されていません (型変換は情報を失います)。
符号なし右シフト(>>>)は、
BigInt
(固定幅はありません)。
BigInt 10進数
AにBigInt
小数は使用できません。
BigInt 除算の例
let x = 5n;
let y = x / 2;
// Error: Cannot mix BigInt and other types, use explicit conversion.
let x = 5n;
let y = Number(x) / 2;
BigInt 16進数、8進数、2進数
BigInt
16進数、8進数、または 2進数で記述することもできます。
BigInt Hexの例
let hex = 0x20000000000003n;
let oct = 0o400000000000000003n
let bin = 0b100000000000000000000000000000000000000000000000000011n;
正確な好奇心
丸めを行うと、プログラムのセキュリティを損なう可能性があります。
ブラウザのサポート
BigInt
は、2020年9月以降すべてのブラウザーでサポートされています。
Chrome 67 | Edge 79 | Firefox 68 | Safari 14 | Opera 54 |
2018年5月 | 2020年1月 | 2019年7月 | 2020年9月 | 2018年6月 |
安全な整数の最小値と最大値
ES6Number オブジェクトにmaxプロパティとminプロパティを追加しました。
MAX_SAFE_INTEGER
MIN_SAFE_INTEGER
新しい数値メソッド
ES6また、Numberオブジェクトに2つの新しいメソッドを追加しました。
・Number.isInteger()
・Number.isSafeInteger()
Number.isInteger()メソッド
Number.isInteger()
メソッドは、引数が整数の場合true
を返します。
Number.isSafeInteger()メソッド
安全な整数は、倍精度数として正確に表現できる整数です。
Number.isSafeInteger()
メソッドは、引数が安全な整数の場合がtrue
を返します。
安全な整数はすべて、-(253-1)から+(253-1)までの整数です。
これは安全です: 9007199254740991。 これは安全ではありません: 9007199254740992。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。