1
resposta

Por que esse código não está funcionando direito?

let resposta = prompt("Que dia da semana é hoje?");

if(resposta == "Sábado" || "Domingo" ){
    alert("Bom final de semana");
} else{
    alert("Boa Semana");
}

Independentemente do que eu escrevo a resposta é sempre "Bom final de semana"

1 resposta

Olá, André!

O problema está acontecendo devido a forma que estamos tentando verificar se a resposta do usuário é "Sábado" ou "Domingo". No JavaScript, cada condição dentro do operador || (OU) precisa ser completa, ou seja, precisamos verificar se a resposta é igual a "Sábado" OU se a resposta é igual a "Domingo".

O código está interpretando a segunda parte da condição ("Domingo") como uma string verdadeira (já que no JavaScript, uma string não vazia é considerada verdadeira), e por isso, independentemente do que seja escrito, a resposta é sempre "Bom final de semana".

Dessa forma, devemos deixar o nosso código da seguinte maneira:

let resposta = prompt("Que dia da semana é hoje?");

if(resposta == "Sábado" || resposta == "Domingo" ){
    alert("Bom final de semana");
} else{
    alert("Boa Semana");
}

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓