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 const e 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 - let para 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 == devolvendo true mesmo com os tipos diferentes
  • 8:00 - Mesma linha com === devolvendo false, 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 true no == e false no ===.
  • 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.

Ícone JavaScriptJavaScript Impressionador

Como usar JavaScript em qualquer empresa e qualquer área, com exemplos totalmente aplicados à realidade do Mercado de Trabalho, seja para se tornar um Desenvolvedor Front End, Backend, Full Stack ou Mobile.

Começar agoraSeta para a direita
Fundo JavaScriptTelas JavaScript

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!

Iguais 2

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.

Iguais 3

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.

Sinais de igualdade em JavaScript

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 ===.

Sinais de igualdade em JavaScript

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!


Quer aprender mais sobre JavaScript com um minicurso básico gratuito?