BigInt

Podstawowe elementy BigInt to względnie nowe połączenie z językiem JavaScript, które umożliwia wykonywanie działań matematycznych na liczbach spoza zakresu dozwolonego przez Number. Aby utworzyć wartość BigInt, dołącz n na końcu literału liczbowego albo przekaż do funkcji BigInt() liczbę całkowitą lub wartość liczbową.

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

W tym przykładzie ciąg 9999999999999999 nie mieści się w zakresie cyfr, który może być bezpiecznie reprezentowany przez Number, co powoduje błąd zaokrąglenia.

Wartości BigInt nie dziedziczą metod ani właściwości podawanych przez obiekt Number i nie można ich używać z metodami dostępnymi w obiekcie Math w języku JavaScript. Przede wszystkim nie można mieszać obiektów podstawowych BigInt z liczbą w standardowych operacjach arytmetycznych:

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

Aby wykonać działania arytmetyczne z użyciem BigInts, musisz zdefiniować oba operandy jako wartości BigInt:

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

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