ExpertiDict

JavaScript · Intermediário · Português · Técnico

igualdade frouxa

/iɡwawˈdadʒi ˈfɾowʃɐ/substantivo

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); // true

Exemplos

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

Veja também

Todos os termos de JavaScript