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"))
- A.
false
,false
- B.
false
,true
- C.
true
,true
- D.
true
,false
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
true
,false
Number.isFinite()
(así con el contructorNumber
) 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 deInfinity
y diferente de-Infinity
; como se ve en la funciónfn
.La diferencia es que en nuestra función
fn
JavaScript infiere por ejemplo la cadena"3"
a3
, y por ello nos datrue
.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 dafalse
.