20-Bigint en Javascript

BigInt es un tipo de dato de Javascript que nace con la idea de permitir representar valores muy grandes, de una forma relativamente sencilla y compatible con lo que ya existe.

La problemática que existe actualmente con el tipo de dato Number es que valores más grandes de 253-1 no pueden ser representados, ya que superarían el límite seguro Number.MAX_SAFE_INTEGER y algunos resultados podrían perder precisión, como se puede ver en el siguiente ejemplo:

Ejemplo

 const number = 2 ** 53
 number.constructor.name;    // "Number" (Es de tipo Number);
 
 number;       // 9007199254740992;
 number + 1;   // 9007199254740992;
 number + 5;   // 9007199254740996;
 number + 40;  // 9007199254741032;

Para poder realizar estas tareas de forma segura, podemos utilizar el tipo de dato BigInt simplemente añadiendo una n al final del número:

Ejemplo

const number = 2n ** 53n;
number.constructor.name;    // "BigInt" (Es de tipo BigInt)
number;       // 9007199254740992n
number + 1n;  // 9007199254740993n
number + 5n;  // 9007199254740997n
number + 40n; // 9007199254741032n


...

Publicar un comentario

0 Comentarios