¿Qué operador de comparación usar en JavaScript: == o ===?
¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con una confusión. En algunos tutoriales escriben que se debe usar `==`, y en otros `===`. Probé ambos y parecen funcionar igual, pero luego me topé con un comportamiento extraño.
Aquí hay un ejemplo:
```javascript
console.log(5 == "5"); // true
console.log(5 === "5"); // false
```
¿Por qué pasa esto? Si 5 es un número y "5" es un string. Esperaba que ambos devolvieran false, pero el primero dice true. Aún más extraño:
```javascript
console.log(false == 0); // true
console.log(false === 0); // false
console.log(null == undefined); // true
console.log(null === undefined); // false
```
Me parece que `===` es más estricto y predecible, pero he visto mucho código en GitHub donde se usa `==`. ¿Cuál se considera correcto? ¿Cuándo se debe usar la doble igualdad y cuándo la triple? ¿Y se puede simplemente usar solo `===`? Agradecería una explicación detallada con ejemplos para finalmente entenderlo.