Avatar ·

Diferencia entre == y === en JavaScript

¡Hola a todos! Recientemente comencé a estudiar JavaScript y Node.js, y me encontré con una falta de comprensión sobre la diferencia entre los operadores == y ===. Aparentemente ambos se usan para comparar, pero a veces los resultados son diferentes.

Aquí hay un ejemplo simple que me confundió:

console.log(5 == '5');   // true\nconsole.log(5 === '5');  // false\n\nconsole.log(null == undefined);  // true\nconsole.log(null === undefined); // false\n\nconsole.log(false == 0);  // true\nconsole.log(false === 0); // false

Entiendo que === es un operador estricto, y == no es estricto, pero no termino de comprender cómo funciona esto en la práctica. Intenté leer la documentación en MDN, pero me gustaría escuchar una explicación de desarrolladores experimentados.

Espero recibir una aclaración: