2
respostas

if e else

Uma duvida. Sempre quando coloco if duas vezez em um codigo e no final coloco um else , ele imprime as duas alternativas, tipo imprime o else junto , só que o else era pra imprimir somente se os dois if anteriores fosse invalido.

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

2 respostas

O else fica "conectado" ao ultimo if, então o js entende o primeiro if:

if (cliente >= 18) {
        console.log("É maior de idade")
    }

Se for true, vai ser executado o console.log, como não tem nenhum else abaixo para executar caso for false, ele vai pro próximo if:

    if (cliente < 18)
        console.log("É menor de idade")
    else {
        console.log("Digite algo válido");
    }

Se for true, vai ser exibido no console "É menor de idade", e se for false vai executar o que está dentro do else{} .

Uma solução seria usar o else if:

 if (cliente >= 18) {
        console.log("É maior de idade")
  } 
  else if (cliente < 18){
        console.log("É menor de idade")
        }
  else {
        console.log("Digite algo válido");
    }
}

Assim, o que está dentro de else só vai ser executado se o que foi passado não atender a nenhuma das condicionais acima. E você pode usar mais de um else if também.

vlww fera, consegui.