Qual o problema com meu codígo? Ele só responde "boa semana!"
Qual o problema com meu codígo? Ele só responde "boa semana!"
Oi, Pedro! Tudo bem?
O problema está acontecendo pois na condição do seu if
quando escrevemos diaDaSemana = "segunda", "terça", "quarta", "quinta", "sexta"
, o JavaScript não está entendendo isso como uma comparação com várias opções. Na verdade, ele está atribuindo o valor "sexta" à variável diaDaSemana
e, como essa atribuição é bem-sucedida, a condição do if
sempre será verdadeira, resultando no alerta "boa semana!".
Para corrigir isso, devemos usar o operador ==
para comparação e o operador lógico ||
(OU) para verificar se o dia da semana é um dos dias úteis, de acordo com o exemplo abaixo:
let diaDaSemana = prompt ("Qual dia da semana é?");
if (diaDaSemana == "segunda" || diaDaSemana == "terça" || diaDaSemana == "quarta" || diaDaSemana == "quinta" || diaDaSemana == "sexta") {
alert("boa semana!")
}
else {
alert("Bom fim de semana")
};
Nesse código, o JavaScript vai comparar o valor de diaDaSemana
com cada um dos dias úteis. Se diaDaSemana
for igual a qualquer um desses dias, a condição do if
será verdadeira e o alerta "boa semana!" será exibido. Caso contrário, o alerta "Bom fim de semana" será exibido.
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
opa Fala Pedro boa tarde tudo bem? aqui está uma versão melhorada do seu codigo pra seguir o clean code e manter o seu codigo limpo
let diaDaSemana = prompt("Qual dia da semana é?");
const diasDaSemana = ["segunda", "terça", "quarta", "quinta", "sexta"];
if (diasDaSemana.includes(diaDaSemana.toLowerCase())) {
alert("Boa semana!");
} else {
alert("Bom fim de semana");
}