Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

211
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!