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

Cadeia de repetição (If, Else)

Olá,

Qual dos dois códigos abaixo está correto?

var numero = 10;

if(numero == 10){
    document.write("jackpot!");
}
if(numero >= 15){
    document.write("jackpot! x2");
}
if(numero < 10){
    document.write("não teve jackpot!");
}

e

var numero = 10;

if(numero == 10){
    document.write("jackpot!");
} else
if(numero >= 15){
    document.write("jackpot! x2");
} else (numero < 10){
    document.write("não teve jackpot!");
}

O uso do else quando acompanhado de um outro if em seguida é facultativo?

2 respostas
solução!

Olá Bruno!

Há um erro de lógica no seu algoritmo: os dois primeiros IFs retornarão TRUE caso o valor da variável seja 10.

O primeiro exemplo é de longe o mais fácil e simples de compreender, apenas de não ser o mais eficiente em termos de processamento.

Com relação à forma forma de escrever, eu faria da seguinte forma

var numero = 10;

        if(numero == 10){
            document.write("jackpot!");
        }
        else if(numero > 10){
            document.write("jackpot! x2");
        }
        else{
            document.write("não teve jackpot!");
        }

O último IF é desnecessário, pois se o valor da variável não é 10 (primeiro IF) e não é maior que 10 (segundo IF), ele só pode ser menor que 10. Entretanto, a legibilidade do código com essa estrutura fica comprometida quando o algoritmo começa a crescer para atender uma necessidade mais elaborada.

Espero que ajude de alguma forma com a sua dúvida.

Corrigido.

Passei de 10 para 15.

Mas a pergunta seria referente ao else. Pelo o que percebi, ele é facultativo.

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