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.