長整数リテラル
【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム
【長整数リテラルとは】
長整数リテラル→プログラムの中で長整数の値を記述するときに使われる。
・書式
let num = 854n;
数値の場合と同じように 10 進数以外に 16 進数、 8 進数、 2 進数で記述することができます。
let num1 = 0xB6n; // 16 進数では先頭に 0x を付ける
let num2 = 0o266n; // 8 進数では先頭に 0o を付ける
let num3 = 0b10110110n; // 2 進数では先頭に 0b を付ける
let num1 = 0xB6n;
console.log(num1);
182n
・小数点を持つ値を記述すると、エラーが出る
let num = 7.34n;
console.log(num);
VM882:1 Uncaught SyntaxError: Invalid or unexpected token
・BigInt オブジェクトのコンストラクタを使って
let num = BigInt(1024);
console.log(num);
1024n
【長整数で表すことができる整数】
数値リテラルで安全に表すことができる最大の数値は 253-1 (=9007199254740991) でこの値は Number.MAX_SAFE_INTEGER として定義され、この数値を超える値に対して演算を行うと、誤った結果が出される。それに対して長整数リテラルは任意の精度で数値を扱うことができる
サンプル
let num = 9007199254740991n;
console.log(num);
VM223:2 9007199254740991n
undefined
console.log(num + 1n);
VM227:1 9007199254740992n
undefined
console.log(num + 2n);
VM231:1 9007199254740993n