DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js💊| #211: Explica este código JavaScript

Explica este código JavaScript

Dificultad: Intermedio

const fn = (x) => x !== NaN && x !== Infinity && x !== -Infinity

console.log(fn("3"))
console.log(Number.isFinite("3"))
Enter fullscreen mode Exit fullscreen mode
  • A. false, false
  • B. false, true
  • C. true, true
  • D. true, false

Respuesta en el primer comentario.

Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:

  • D. true, false

Number.isFinite() (así con el contructor Number) es la manera que tenemos en JavaScript para determinar si un número es real o no.

Para JavaScript un número será real siempre y cuando sea diferente de NaN, diferente de Infinity y diferente de -Infinity; como se ve en la función fn.

La diferencia es que en nuestra función fn JavaScript infiere por ejemplo la cadena "3" a 3, y por ello nos da true.

En cambio cuando usamos Number.isFinite() no hay inferencia de tipos, debemos pasarle un número para que haga bien su trabajo, por ello nos da false.