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