Las primitivas de BigInt son una adición relativamente nueva de
JavaScript, que permite realizar operaciones matemáticas en números fuera del rango
permitido por Number
. Para crear un BigInt, agrega n
al final de un número.
literal, o pasar un valor de string entero o numérico a la función BigInt()
.
const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;
typeof myNumber;
> "number"
typeof myBigInt;
> "bigint"
myNumber;
> 10000000000000000
myBigInt;
> 9999999999999999n
En este ejemplo, 9999999999999999
está fuera del rango de dígitos que se puede
Se representa de forma segura por Number
, lo que genera un error de redondeo.
Los valores de BigInt no heredan los métodos ni las propiedades del objeto Number
.
proporciona y no se pueden usar con los métodos del Math
integrado de JavaScript
proporciona. Lo más importante es que no puedes mezclar las primitivas BigInt y Number en
operaciones aritméticas estándar:
9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number
Para realizar operaciones aritméticas con BigInts, debes definir ambos operandos como valores de BigInt:
console.log( 9999999999999999 + 10 ); // Off by one
> 10000000000000010
console.log( 9999999999999999n + 10n );
> 10000000000000009n