Avatar ·

Qual operador de comparação usar em JavaScript: == ou ===?

Olá a todos! Comecei a estudar JavaScript há pouco tempo e me deparei com uma confusão. Em alguns tutoriais dizem que devo usar `==`, e em outros, `===`. Tentei ambos e eles parecem funcionar da mesma forma, mas depois me deparei com um comportamento estranho. Aqui está um exemplo: ```javascript console.log(5 == "5"); // true console.log(5 === "5"); // false ``` Por que isso? Afinal, 5 é um número e "5" é uma string. Eu esperava que ambos retornassem false, mas o primeiro diz true. Ainda mais estranho: ```javascript console.log(false == 0); // true console.log(false === 0); // false console.log(null == undefined); // true console.log(null === undefined); // false ``` Parece-me que `===` é mais rigoroso e previsível, mas vi muito código no GitHub onde se usa `==`. Qual deles é considerado correto? Quando devo usar a igualdade dupla e quando a tripla? E posso simplesmente usar apenas `===`? Agradeço por uma explicação detalhada com exemplos para que eu finalmente entenda.