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á.
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á.
esse comparativo não esta incorreto , também pensei que estava mas, dei uma pesquisada e vi que esse operador
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