DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Edited on

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

Explica este código JavaScript

const a = NaN;
const b = 5/"Hola";

console.log( a === b ); // 🤔?
console.log(Object.is(a, b)); //🤔?
Enter fullscreen mode Exit fullscreen mode

A. true, false
B. false, true
C. true, NaN
D. true, undefiend

➡ Respuesta ⬅

B. false, true

El operador de igualdad estricta es muy potente, pero ¿sabias que existe uno aún mejor?

Object.is recibe 2 parámetros y hace una comparación profunda entre ellos, pero va un poco más lejos.

Casos como: 0 === -0 y NaN === NaN son mejor manejados con Object.is.

Cuando comparamos un NaN vs otro NaN usando === obtenemos siempre false lo que no tiene mucho sentido, en estos casos es mejor usar Object.is.

Top comments (2)

Collapse
 
jlizanab profile image
José Lizana

Buenaaaa, me obligaste a buscar las diferencias entre === y Object.is jajaja.
javascripttutorial.net/es6/javascr...

Collapse
 
duxtech profile image
Cristian Fernando

Hace poco tampoco sabía de esto y me parecio súper interesante