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.

Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

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.