Sobes.tech
Junior

Qual é a diferença entre == e === em JavaScript?

sobes.tech IA

Resposta da IA

O operador == (igualdade frouxa) realiza a conversão de tipos dos operandos antes da comparação.

O operador === (igualdade estrita) não realiza a conversão de tipos. Compara e os valores e os tipos dos operandos.

// Exemplos ==
console.log(5 == '5');   // true (a string '5' é convertida para o número 5)
console.log(true == 1);    // true (o número 1 é convertido para true)
console.log(null == undefined); // true (regra especial)

// Exemplos ===
console.log(5 === '5');  // false (tipo number não é igual ao tipo string)
console.log(true === 1);   // false (tipo boolean não é igual ao tipo number)
console.log(null === undefined); // false (tipo null não é igual ao tipo undefined)

O uso de === é preferível na maioria dos casos, pois é mais previsível e evita comportamentos não evidentes relacionados com a conversão de tipos.