2
respostas

[Dúvida] else if

Pergunte ao usuário qual é o dia da semana. Se a resposta for "Sábado" ou "Domingo", mostre "Bom fim de semana!". Caso contrário, mostre "Boa semana!".
Nesse exercicio a resolução mostrava o uso do "else if", mas eu fiz o uso apenas do "if" duas vezes, e deu o mesmo resultado. Tem um motivo de na resolução sugerida o professor ter usado o "else if"? Segue abaixo a resolução do professor.

diaDaSemana = prompt('Qual é o dia da semana?');
if (diaDaSemana == 'Sábado') {
alert('Bom fim de semana!');
} else if (diaDaSemana == 'Domingo') {
alert('Bom fim de semana!');
} else {
alert('Boa semana!');
}

2 respostas

Olá, Leonardo. Sou aluna também mas entendo o seguinte: mesmo que usar a condição if duas vezes não altere o resultado nesse caso, não é recomendável utilizar duas vezes pois o navegador terá que validar todas as condições mesmo se a primeira já tiver sido verdadeira. Por exemplo, se você faz da seguinte forma:

let dia = prompt("Qual é o dia da semana?");

if (dia === "Sábado" || dia === "Domingo") {
    alert("Bom fim de semana!");
}

if (dia !== "Sábado" && dia !== "Domingo") {
    alert("Boa semana!");
}

Se o dia digitado pelo usuário for Sábado, a primeira condição é verdadeira e ainda assim o programa vai ter que processar a segunda comparação. Usando o else if ele pararia na primeira condição. Isso economiza tempo de processamento do programa, deixa o código mais eficiente.

Obrigado Sara, muito clara a tua explicação.