Avatar ·

¿Qué operador de comparación usar en JavaScript: == o ===?

¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con una situación confusa. Parece que hay dos operadores para comparar: el doble igual (==) y el triple igual (===). Pero funcionan de manera diferente y no puedo entender cuándo usar cuál. Aquí hay un ejemplo que me confundió: ```javascript console.log(5 == "5"); // true console.log(5 === "5"); // false ``` ¿Por qué en el primer caso 5 y "5" se consideran iguales, pero en el segundo no? ¡Son un número y una string, tipos de datos diferentes! Pensaba que la comparación debería ser estricta. Otro ejemplo: ```javascript console.log(false == 0); // true console.log(false === 0); // false ``` Esto es aún más extraño: ¿false resulta ser igual a cero? Pero false es un valor booleano y 0 es un número. ¿Cómo es posible? He leído que == hace type coercion, pero ¿qué significa eso en la práctica? ¿Y cuándo puede ser útil? En algunos tutoriales dicen que es mejor usar siempre === para evitar errores. Pero entonces, ¿para qué sirve ==? Díganme, por favor.