BigInt en JavaScript

BigInt es un objeto incorporado en JavaScript que proporciona una forma de representar números enteros mayores que 2 53 -1. El número más grande que JavaScript puede representar de forma fiable con la primitiva Number es 2 53 -1, que se representa mediante la constante MAX_SAFE_INTEGER . Esto tiene varios usos donde se requieren operaciones en grandes números.

Sintaxis:

BigInt( number ) 
or
Appending n to end of an integer literal

Parámetros: acepta un único literal entero como string que debe representarse como BigInt.

Tipo de devolución: este método devuelve el valor dado como tipo de datos BigInt.

Ejemplo: Este ejemplo crea un BigInt usando la función BigInt().

javascript

// Parameter in decimal format
var bigNum = BigInt(
  "123422222222222222222222222222222222222");
console.log(bigNum);
  
// Parameter in hexadecimal format
var bigHex = BigInt("0x1ffffffeeeeeeeeef");
console.log(bigHex);
  
// Parameter in binary format
var bigBin = BigInt(
  "0b1010101001010101001111111111111111");
console.log(bigBin);

Producción: 

123422222222222222222222222222222222222n
36893488074118328047n
11430854655n

Ejemplo: este ejemplo crea un BigInt agregando n al final del número.

javascript

// Decimal format
var bigNum = 123422222222222222222222222222222222222n
console.log(bigNum)
  
// Hexadecimal format
var bigHex = 0x1ffffffeeeeeeeeefn
console.log(bigHex)
  
// Binary format
var bigBin = 0b1010101001010101001111111111111111n
console.log(bigBin)

Producción: 

123422222222222222222222222222222222222n
36893488074118328047n
11430854655n

Comparación de BigInt con otros tipos: BigInt es similar a Number en algunos aspectos, sin embargo, no se puede usar con métodos del objeto Math incorporado y no se puede mezclar con instancias de Number en operaciones.

Ejemplo: Comparar BigInt con un Número.

typeof 100n === 100        // Returns false
typeof 100n ==  100        // Returns true due to coercion
typeof 100n === 'bigint'   // Returns true
100n < 101                 // Returns true due to coercion

Clasificación: una array puede contener tipos de datos primitivos y BigInts. Esto permite que el método sort() funcione cuando los valores normales Number y BigInt están presentes en la array.

Ejemplo:

javascript

// Array consisting of both
// Number and BigInt
var arr = [4, 2, 5n, 2n]
  
// Sorting the array
arr.sort()
  
console.log(arr)  // [2, 2n, 4, 5n]

Producción:

[2, 2n, 4, 5n]

Recomendación de uso: No se recomienda el uso de las siguientes aplicaciones con BigInt debido a su implementación:

  1. Coerción: la coerción entre Number y BigInt puede conducir a la pérdida de precisión, se recomienda usar solo BigInt cuando se esperan razonablemente valores superiores a 253 y no coaccionar entre los dos tipos.
  2. Criptografía: Las operaciones soportadas en BigInt no son de tiempo constante. Por lo tanto, BigInt no es adecuado para su uso en criptografía.

Navegadores compatibles: los navegadores compatibles con el método BigInt se enumeran a continuación:

  • Cromo
  • Borde
  • Firefox
  • Ópera

Publicación traducida automáticamente

Artículo escrito por manoj_n y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *