BigInt

BigInt-Primitive sind eine relativ neue Ergänzung zu JavaScript, das mathematische Operationen mit Zahlen außerhalb des Bereichs ermöglicht zugelassen durch Number. Hängen Sie n an das Ende einer Zahl an, um ein BigInt zu erstellen. -Literal enthält, oder übergeben Sie einen ganzzahligen oder numerischen Stringwert an die Funktion BigInt().

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

In diesem Beispiel liegt 9999999999999999 außerhalb des Ziffernbereichs, der sicher durch Number dargestellt wird, was einen Rundungsfehler verursacht.

BigInt-Werte übernehmen die Methoden und Eigenschaften nicht vom Number-Objekt. und können nicht mit den Methoden des integrierten Math von JavaScript verwendet werden. -Objekt bereitstellt. Vor allem können Sie BigInt- und Number-Primitive nicht Standardarithmetische Operationen:

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

Um mit BigInts arithmetisch zu rechnen, müssen Sie beide Operanden als BigInt-Werte definieren:

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

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