BigInt

BigInt プリミティブは、比較的新しく追加された機能です。 JavaScript(範囲外の数値に対する算術演算が可能) Number で許可されています。BigInt を作成するには、数値の末尾に n を追加します 渡すか、BigInt() 関数に整数または数値の文字列値を渡します。

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

この例では、9999999999999999 は入力可能な桁数の範囲外です。 Number で表され、丸め誤差が発生します。

BigInt 値は Number オブジェクトのメソッドとプロパティを継承しない また、JavaScript の組み込み Math メソッドでは使用できません。 渡します。最も重要な点として、BigInt と Number のプリミティブを 基本的な算術演算を紹介します。

9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number

BigInts で算術演算を行うには、両方のオペランドを BigInt 値として定義する必要があります。

console.log( 9999999999999999 + 10 );  // Off by one
> 10000000000000010

console.log( 9999999999999999n + 10n );
> 10000000000000009n