Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
¿Por qué estos dos valores son diferentes?

Recientemente tuve una conferencia en la que cubrimos BigInts y cómo declararlos usando el constructor o agregando una 'n' al final del número. Sentí que entendía bien la conferencia, hasta que me encontré con este extraño comportamiento.

¿Podría alguien explicarme por qué hay una diferencia aquí?

 console.log(239723948723409274092834987230917298720394203874n); console.log(BigInt(239723948723409274092834987230917298720394203874)); //OUTPUT 239723948723409274092834987230917298720394203874n 239723948723409282517569648409973454535932248064n

Es el mismo número en ambos casos de uso, pero el resultado es diferente. Sospecho que este es un comportamiento realmente apropiado porque el motor debe calcular el argumento pasado al constructor antes de que el constructor lo use.

Aunque no estoy seguro de si eso es correcto, por eso estoy aquí.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Las constantes numéricas (ya sean números simples o valores de gran tamaño con la n final) se analizan y evalúan según su tipo incluso antes de que se ejecute el programa. Si coloca una constante int grande en su programa, el analizador crea un código que se ejecuta con un valor int grande. Si coloca un número simple en su código, el analizador crea un número simple de coma flotante de 64 bits, como todos los valores numéricos de JavaScript de la vieja escuela.

Por lo tanto, cuando llama a BigInt() con una constante que no tiene la n final, lo que le indicaría al analizador que haga un int grande y no un número simple, está creando una expresión que se evalúa antes de la llamada a la función. Es un número simple, por lo que pierde mucha precisión antes de que se cree su nuevo gran valor int.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda