DEV Community

Cristian Fernando
Cristian Fernando

Posted on

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

¿Puedes explicar este código?

console.log(false == null); // false
console.log(false == undefined); // false
Enter fullscreen mode Exit fullscreen mode

Siendo null y undefined valores falsy, ¿por qué pasa esto?


Respuesta en el primer comentario.

Oldest comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Si bien null y undefined son valores falsy al momento de que javascript haga coerciones de tipo pasa algo raro, esto se debe a que tanto null como undefined sólo son iguales a sí mismos y entre ellos:

console.log(null == null); // true
console.log(undefined == undefined); // true
console.log(undefined == null); // true
Enter fullscreen mode Exit fullscreen mode

Solo en estos casos obtendremos como salida un true.

Pero es recomendable usar siempre el operador estricto de igualdad ===:

console.log(null === null); // true
console.log(undefined === undefined); // true
console.log(undefined === null); // false
Enter fullscreen mode Exit fullscreen mode

Esto para evitar que javascript haga coerciones de tipos y obtengamos resultados no esperados.