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

Como esse código funciona

Olá, estou com uma dúvida em relação a essa parte do código na resolução do professor.

function trocaBandeira() {

    if(mostraBrasil) {
        desenhaBandeiraBrasil();
    } else {
        desenhaBandeiraAlemanha();
    }
    mostraBrasil = !mostraBrasil;
}

Nessa função o mostraBrasil começa true e então desenhaBandeiraBrasil, logo após ele recebe false na !mostraBrasil então vai para o else e desenhaBandeiraAlemanha e depois disso não era para ele ir para false novamente ? Já que ele vai novamente para !mostraBrasil ? Por que ele continua desenhando a bandeira do Brasil? O certo não deveria ser só desenhar a bandeira da Alemanha já que o mostraBrasil vai está em false sempre que a fução está rodando? Não entendi em que momento ela troca para true novamente.

2 respostas
solução!

O operador ! (not) sempre inverte o valor:

!true = false

!false = true

Aaah agora sim consegui compreender Francisco, obrigado !!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software