DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js馃拪| #215: 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.