BigInt

Podstawowe elementy BigInt stanowią stosunkowo nowy dodatek do JavaScript umożliwiający wykonywanie działań matematycznych na liczbach spoza zakresu dozwolone przez Number. Aby utworzyć BigInt, dołącz n na końcu liczby literału albo przekazać do funkcji BigInt() wartość będącą liczbą całkowitą lub liczbową.

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

W tym przykładzie 9999999999999999 wykracza poza zakres cyfr, które można jest bezpiecznie reprezentowana przez Number, co powoduje błąd zaokrąglania.

Wartości BigInt nie dziedziczą metod ani właściwości obiektu Number i nie można ich używać z metodami wbudowanymi w Math JavaScriptu. udostępnia obiekt. Przede wszystkim nie można mieszać podstawowych elementów BigInt i Number standardowe operacje arytmetyczne:

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

Aby wykonać obliczenia arytmetyczne z użyciem funkcji BigInt, musisz zdefiniować oba operandy jako wartości BigInt:

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

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