→
BigInt はで、の bigint 値、すなわち number プリミティブで表すことができない数を、表現したり操作したりするために使用します。
BigInt 値は、単に BigInt と呼ばれることもありますが、bigint です。整数リテラルの末尾に「n」を追加するか、BigInt() コンストラクターを呼び出し、整数値または文字列値を与えることで生成することができます (ただし new 演算子なしで)。
D=9007199254740991n; D=BigInt(9007199254740991); //=[bigint]:9007199254740991 D=BigInt("9007199254740991"); //=[bigint]:9007199254740991 D=BigInt("0x1fffffffffffff"); //=[bigint]:9007199254740991 D=BigInt("0o377777777777777777"); //=[bigint]:9007199254740991 D=BigInt("0b11111111111111111111111111111111111111111111111111111"); //=[bigint]:9007199254740991
BigInt はいくつかの点で Number と似ていますが、重要ないくつかの点が異なります。組み込みの Math オブジェクト内のメソッドでは利用できず、演算で Number の値と混ぜることができません。同じ型に統一する必要があります。ただし、BigInt を Number へ変換する際には精度が落ちることがあるので、相互に変化する場合には注意が必要です。
¶省く
¶省く
// 渡された BigInt が素数であった場合は true を返します function isPrime(p) { for (let i = 2n; i * i <= p; i++) { if (p % i === 0n) return false; } return true; } // 引数として BigInt 値を取り、nth 番目の素数を BigInt 値として返します。 function nthPrime(nth) { let maybePrime = 2n; let prime = 0n; while (nth >= 0n) { if (isPrime(maybePrime)) { nth--; prime = maybePrime; } maybePrime++; } return prime; } D=nthPrime(20n); //=73。[bigint]:73