Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Operador lógico igual de formas diferentes

No curso de Iniciando com JavaScript, aula 12, o exemplo usado no if "Tem pão" está com o operador usado com 3 sinais de igual.
Por quê ora é com 3 e ora com 2? Há diferença ou é erro?
Agradeço desde já.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

esse comparativo não esta incorreto , também pensei que estava mas, dei uma pesquisada e vi que esse operador

solução!

Obrigada Felipe! Acabei de verificar isso em outras aulas e fui pesquisar também. Troquei minha pergunta para "dúvida" pra deixar pública a explicação caso alguém também tenha dúvidas, porque acho que não vi este assunto ser contextualizado nas aulas.

Motivo:

No JavaScript, os três sinais de igual (===) são o operador de comparação estrita (strict equality), que verifica se os valores são iguais e do mesmo tipo.
Já os dois sinais de igual (==) fazem uma comparação mais "solta" (loose equality), onde o JavaScript tenta converter os tipos antes de comparar.
No caso do numero % 2 === 0, usar os três iguais é o mais recomendado porque:
Você quer garantir que o resultado seja exatamente o número 0 (tipo e valor).

Evita problemas de conversão automática de tipos que podem causar bugs inesperados.

Exemplo:

0 == "0"   // true, porque o JavaScript converte a string "0" para número antes de comparar
0 === "0"  // false, porque os tipos são diferentes (número vs string)

Então, para comparações de valores primitivos (como números), é melhor usar === para evitar surpresas.

arrebentou !

now, it's clear