Operadores de comparação
Em JavaScript, comparar valores com == pode gerar resultados inesperados porque ele converte os tipos automaticamente antes da comparação. Isso é uma fonte comum de bugs, especialmente ao comparar com 0, false ou null. Usar === evita essas surpresas e torna seu código mais previsível.
O PROBLEMA
Demonstre a diferença entre == e === com exemplos de coerção de tipo.
EXEMPLO
0 == false → true 0 === false → false null == undefined → true null === undefined → false
SOBRE O CONCEITO
O operador == realiza coerção de tipo, ou seja, tenta converter os operandos para o mesmo tipo antes de comparar. Por exemplo, 0 == false resulta em true porque ambos são convertidos para o mesmo valor. Já === compara valor e tipo sem conversão: 0 === false é false. O erro comum é usar == quando se quer uma comparação estrita, o que pode levar a bugs difíceis de encontrar. Prefira sempre === e !== a menos que a coerção seja intencional.
RESOLUÇÃO