Aprende a controlar resultados y evitar errores comunes al comparar valores en JavaScript. Aquí verás cómo la coerción de tipos afecta la igualdad débil (==) y por qué la igualdad estricta (===) y la desigualdad estricta (!==) son la práctica recomendada para comparaciones seguras.
¿Qué son y por qué importan los operadores de comparación en JavaScript?
Comparar valores parece simple, pero en JavaScript interviene la coerción. Con la igualdad débil el motor intenta convertir tipos antes de comparar, lo que produce resultados inesperados. La igualdad estricta compara valor y tipo, evitando conversiones implícitas.
¿Cómo funciona la igualdad débil == con coerción de tipos?
Con == se comparan valores permitiendo conversión de tipos. Esto puede dar verdaderos que sorprenden.
La coerción intenta alinear tipos antes de comparar.
Valores distintos como número 5 y string '5' pueden considerarse iguales.
En contexto booleano, combinaciones como null y undefined terminan siendo equivalentes.
Estos casos dificultan el control de errores y la lectura del código.
¿Qué hace la desigualdad débil != en los mismos casos?
También aplica coerción y puede confundir.
console.log(5!='5');// false
Puntos a notar:
Se convierte 5 a string y se compara con '5'.
Como los ve iguales tras convertir, la desigualdad resulta falsa.
¿Qué resuelve la igualdad estricta === y la desigualdad estricta !==?
La comparación estricta evita conversiones implícitas: verifica valor y tipo. Así, se eliminan ambigüedades y el resultado es predecible. Es la forma recomendada para comparar en JavaScript cuando necesitas precisión.