Sinais de igualdade em JavaScript – Um igual, Dois Iguais e Três Iguais – Existe Diferença?
Qual a diferença e quando usar os sinais de igualdade nos seus códigos em JavaScript? Aprenda agora de forma simples para que servem!
Os sinais de igualdade em JavaScript têm papéis distintos: um igual (=) atribui valor a uma variável; dois iguais (==) comparam apenas o conteúdo, convertendo tipos (2 == “2” retorna true); três iguais (===) comparam conteúdo e tipo (2 === “2” retorna false). Para evitar erros silenciosos, prefira sempre o operador estrito ===.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula explica os três sinais de igualdade do JavaScript com código rodando no terminal. Você aprende que = atribui valor a uma variável, que == compara só o conteúdo e ignora o tipo, e que === compara conteúdo e tipo, além de por que a comparação ampla causa erro depois.
Neste vídeo (11 min):
- 1:00 - Criação de variável com
conste o=atuando como operador de atribuição - 2:00 -
console.log()imprimindo o valor da variável e execução do arquivo pelo terminal - 4:00 - A pergunta central da aula: o que muda entre
==e===numa comparação - 5:00 -
letpara valor que muda e o caso montado com 2 numérico contra 2 entre aspas - 6:00 - Todo dado tem conteúdo e tipo, e só o tipo numérico aceita operação matemática
- 7:00 - Comparação com
==devolvendotruemesmo com os tipos diferentes - 8:00 - Mesma linha com
===devolvendofalse, porque a igualdade estrita checa o tipo - 9:00 - Por que a flexibilidade do
==gera erro silencioso ao usar o valor adiante
Trechos do vídeo:
- O
=sozinho não compara nada: ele atribui à variável da esquerda o valor que está à direita. - Comparar o número 2 com o texto 2 devolve
trueno==efalseno===. - A igualdade estrita
===compara conteúdo e tipo; a ampla==olha só o conteúdo e ignora o tipo. - Texto que parece número não aceita conta matemática, e é esse o erro que a comparação ampla deixa passar.
Fala Impressionadores! Na aula de hoje eu quero te mostrar a diferença entre os iguais em Javascript.
Você já deve ter visto em programação que temos diferentes iguais, como: =, == e ===. Pode não parecer, mas eles possuem diferenças.
O sinal de igual sozinho é um operador de atribuição no Javascript, ou seja, você vai utilizá-lo para atribuir um valor a uma variável, por exemplo.
Já os 2 sinais de igual servem como comparação, mas é um operador de igualdade ampla.
Como assim ampla?
Ele vai fazer a comparação apenas do conteúdo das informações. Os 3 sinais de igual também servem como comparação, mas é uma opção melhor do que os 2 sinais.
Qual o motivo disso?
Bem, esse comparador, na verdade, é um operador de igualdade estrita. Então diferente dos 2 sinais (==), os 3 sinais (===) eles não vão fazer a comparação apenas do conteúdo, mas também, do tipo dos dados.
Não entendeu?
Imagine que você tenha a variavelA = 2 e a variavelB = ‘2’. Você deve saber que uma delas é de fato um número e a outra é um texto.
Só que ao comparar com == o resultado será verdadeiro, pois o conteúdo é igual, mas ao comparar com === o resultado será falso, pois o conteúdo é igual, só que o tipo dos dados é diferente!
Vamos fazer alguns exemplos práticos e esses conceitos vão ficar mais claros!

O que o JavaScript diria sobre as duas imagens acima? São iguais?
O primeiro exemplo que vou te passar é o de atribuição (=), para esse exercício vamos criar uma variável e atribuir a ela um texto.

Note que no final quando chamamos a variável “primeiraVariavel” o resultado no console não é a variável e sim a frase que atribuímos a ela.
Agora, qual a diferença entre == e ===?
Comparar igualdade em JavaScript com o sinal de === é o modo mais preciso de fazer essa comparação.
Imagine que temos duas variáveis, uma valendo 2 (número) e outra valendo “2” (texto – Por estar entre aspas).
Ambas as variáveis possuem o número 2, porém na primeira o tipo da variável é um número e por isso podemos fazer cálculos com ela. No segundo caso o “2” está entre aspas então apesar de ser um número é considerado um texto em JavaScript e neste caso não é possível calcular com ele.
Quando verificamos a igualdade entre essas duas variáveis com dois sinais de igual == o resultado será true, ou seja, verdadeiro -> existe igualdade. Isso porque é uma comparação ampla que não está levando em consideração o tipo.
Ao comparar com três iguais === já é verificado não só o conteúdo, mas também o tipo, e o resultado da igualdade será falso “false” porque embora ambos tenham o número 2 um é lido como número e o outro como texto impossibilitando o uso para cálculos.

Podemos dizer que temos em JavaScript um operador de igualdade estrita === e um operador de igualdade ampla ==.
Para garantir um bom funcionamento do código eu recomendo que você escolha utilizar o comparador de igualdade restrita ===, dessa forma você evita erros muitas vezes simples, mas que podem ser difíceis de identificar.
Resumindo, para a imagem do início da aula podemos dizer que são imagens iguais com o comparador de igualdade ampla == e que são imagens diferentes com o comparador de igualdade restrita ===.

Perguntas frequentes
1. Qual a diferença entre == e === em JavaScript?
O operador == faz comparação ampla: converte os tipos antes de comparar, então 2 == “2” resulta em true. O operador === faz comparação estrita: valor e tipo precisam coincidir, então 2 === “2” resulta em false, porque número e texto são tipos diferentes. O === é o mais confiável para a maioria dos casos.
2. Para que serve o sinal de igual simples (=) em JavaScript?
O = é o operador de atribuição: guarda um valor dentro de uma variável, como em let idade = 25. Ele nunca compara valores — esse é um erro clássico de iniciante: escrever if (x = 5) atribui 5 a x em vez de comparar. Para verificar igualdade dentro de uma condição, use == ou ===.
3. Por que 2 == “2” retorna true em JavaScript?
Por causa da coerção de tipos: com dois iguais, o JavaScript converte o texto “2” em número antes de comparar, e os conteúdos ficam iguais. Já com três iguais a conversão não acontece — a comparação verifica o tipo primeiro, e número contra texto retorna false. É por isso que o === evita resultados inesperados.
4. Existe diferença entre != e !== em JavaScript?
Sim, e segue a mesma lógica dos iguais: != verifica desigualdade convertendo os tipos (2 != “2” dá false, pois os valores se equivalem), enquanto !== verifica desigualdade estrita de valor e tipo (2 !== “2” dá true). Na prática, combine === e !== no seu código para comparações previsíveis.
Conclusão – Sinais de igualdade em JavaScript
Vimos nesta aula que temos diversos usos com o sinal de igual no JavaScript, em resumo:
= -> Atribuição
== -> Comparador de igualdade ampla
=== -> Comparador de igualdade restrita
Se você tinha dúvidas sobre qual o melhor para usar e sobre para que serve cada um, preparei esta aula justamente para sanar todas as suas dúvidas em relação a isso de forma simples direta e com exemplos.
Espero que tenham gostado! Até a próxima! Um abraço,
Hashtag Treinamentos
Para acessar publicações de JavaScript, clique aqui!

