Menu
Coddy logo textTech

Igualdade Estrita vs Não Estrita

Parte da seção Fundamentos do Journey de JavaScript da Coddy — lição 16 de 77.

No JavaScript, existem dois tipos de operadores de igualdade: igualdade solta (==) e igualdade estrita (===).

A igualdade solta (==) verifica se dois valores são iguais após realizar a coerção de tipos. Isso significa que, se os operandos tiverem tipos diferentes, o JavaScript tentará convertê-los para um tipo comum antes de realizar a comparação.

Por exemplo:

let b = 5 == "5";   // Retorna true, porque a string "5" é convertida para o número 5 antes da comparação
let b = 0 == false; // Contém true, porque o booleano false é convertido para o número 0 antes da comparação

A igualdade estrita (===), por outro lado, verifica se dois valores são iguais sem realizar qualquer conversão de tipo. Se os operandos tiverem tipos diferentes, eles são considerados diferentes.

Por exemplo:

let b = 5 === "5";   // Contém false, porque nenhuma conversão de tipo é realizada, e um número não é igual a uma string
let b = 0 === false; // Contém false, porque nenhuma conversão de tipo é realizada, e o número 0 não é igual ao booleano false

Em geral, recomenda-se usar a igualdade estrita (===) na maioria dos casos para evitar resultados inesperados devido à coerção de tipos.

Da mesma forma, também existem os operadores de desigualdade não estrita (!=) e desigualdade estrita (!==) que funcionam de maneira semelhante, mas verificam a desigualdade em vez da igualdade.

A desigualdade não estrita (!=) verifica se dois valores não são iguais após realizar a coerção de tipo, enquanto a desigualdade estrita (!==) verifica se dois valores não são iguais sem realizar a conversão de tipo.

challenge icon

Desafio

Iniciante

Você recebeu um código com três variáveis: a, b e c.

Sua tarefa é realizar as seguintes comparações e imprimir os resultados:

  1. Verifique se a é fracamente igual a b e armazene o resultado em d.
  2. Verifique se a é estritamente igual a c e armazene o resultado em e.
  3. Verifique se b é fracamente diferente de c e armazene o resultado em f.
  4. Verifique se a é estritamente diferente de b e armazene o resultado em g.

Use as variáveis fornecidas e os operadores de comparação para completar a tarefa.

Folha de consulta

O JavaScript possui dois tipos de operadores de igualdade:

Igualdade solta (==) realiza a coerção de tipo antes da comparação:

5 == "5"   // true - string "5" convertida para o número 5
0 == false // true - booleano false convertido para o número 0

Igualdade estrita (===) compara sem conversão de tipo:

5 === "5"   // false - número vs string, sem conversão
0 === false // false - número vs booleano, sem conversão

Da mesma forma para os operadores de desigualdade:

  • Desigualdade solta (!=) - realiza a coerção de tipo
  • Desigualdade estrita (!==) - sem conversão de tipo

É recomendado usar a igualdade estrita (===) para evitar resultados inesperados da coerção de tipo.

Experimente você mesmo

// Variáveis fornecidas
let a = 10
let b = "10"
let c = true

// Digite seu código abaixo


// Não altere a linha abaixo
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos