2
respostas

[Dúvida] dúvida no primeiro exercício

Qual o problema com meu codígo? Ele só responde "boa semana!"

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

2 respostas

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!

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

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");
}