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

Operadores "E" e "OU" em JavaScript

Não seria correto utilizar o operador "||" significando "OU" ao invés de "&&" que significa "E" na resposta desse exercício? Fiquei confuso. O operador && não leva a condição de que tudo o que estiver sendo analisado deve ser verdadeiro para a condição ser aceita, ou seja, um "E" exclusivo?

if( contador != 33 && contador != 37)

4 respostas

Oi Rozenildo. Poderia sim escrever com OU, mas aí você precisaria colocar com ==, repare:

if( contador == 33 || contador == 37)

Lemos: "se o contador for 33 OU for 37, faça tal coisa".

O problema é que queremos que ele "faça tal coisa" justamente quando isso não for verdade. Uma opção então seria você colocar tudo entre parenteses e colocar o símbolo de NAO na frente, o !:

if( ! (contador == 33 || contador == 37) )

Um pouco mais difícil de ler para alguns, mais fácil para outros. Eu ainda prefiro a sugestão de solução do exercício, mas ambas são válidas.

Ok. Veja se está certo meu entendimento: Quando usamos o operador != para os números 33 "E" (&&) 37 estamos fazendo a comparação dos dois ao mesmo tempo: se é diferente de 33 também é diferente de 37, assim quando o laço é executado o valor desses números não será impresso.

solução!

Isso, Rozenildo.

Fazemos a comparação ao mesmo tempo, porém só para esclarecer o que você escreveu:

O correto é "se é diferente de 33 E também é diferente de 37, .." ao executar o laço, esses valores não serão impressos.

Da forma como você pôs, deu a entender que porque é diferente de 33, então também é diferente de 37. Espero poder ter esclarecido.

Obrigado, Lucas! Esclareceu E muito. Valeu.