JavaScript · Intermediário · Português · Técnico
igualdade frouxa
Comparação com == ou != que converte os operandos para um tipo comum antes de comparar, seguindo regras de coerção pouco intuitivas.
Onde usar
Surge em código legado e em checagens como x == null, que cobre null e undefined de uma vez. Fora disso, linters costumam proibir, porque '' == 0 e '0' == false dão true.
Em código
console.log(0 == ''); // true
console.log('0' == false); // true
console.log('0' == ''); // false
console.log(null == undefined); // trueExemplos
A igualdade frouxa diz que zero é igual à string vazia.
O ESLint proíbe igualdade frouxa, menos para comparar com null.
Cuidado
Presumir que a comparação é transitiva: '0' == 0 e 0 == '' são verdadeiros, mas '0' == '' é falso.
Sinônimos
operador ==, igualdade abstrata
Antônimos
igualdade estrita