Olá, Priscila. Como vai?
Essa é uma excelente dúvida! O que você vivenciou é um comportamento padrão de praticamente todas as linguagens de programação: o JavaScript é case-sensitive (diferencia letras maiúsculas de minúsculas) e também diferencia caracteres com e sem acento (á é totalmente diferente de a para o computador).
Para resolver o problema das letras maiúsculas e minúsculas, o JavaScript possui um método fantástico chamado .toLowerCase(). Ele pega qualquer texto e o transforma inteiramente em letras minúsculas.
Já para resolver a questão dos acentos de forma simples no início dos estudos, a melhor prática é usar o operador lógico OU (representado por dois canos retos ||) para permitir que o sistema aceite as duas variações da palavra.
Veja como o seu código pode ser reestruturado aplicando essas boas práticas:
// Captura a resposta e já transforma tudo para letras minúsculas
let diaDaSemana = prompt('Qual é o dia da semana?').toLowerCase();
// Agora testamos tudo em minúsculo, aceitando com ou sem acento usando o operador OU (||)
if (diaDaSemana == 'sábado' || diaDaSemana == 'sabado' || diaDaSemana == 'domingo') {
alert('Bom fim de semana!');
} else {
alert('Boa semana!');
}
O que mudou aqui?
.toLowerCase(): Se o usuário digitar "SÁBADO", "Sabado" ou "sAbAdO", o JavaScript vai transformar o texto internamente para "sábado" ou "sabado" antes de fazer o teste do if. Isso elimina 50% dos erros de digitação.- **Operador
||**: Em vez de criar vários else if longos, nós agrupamos as condições na mesma linha. O computador lê isso como: "Se o dia for 'sábado' OU se for 'sabado' OU se for 'domingo', execute o primeiro bloco".
Com essa pequena adaptação, o seu programa fica muito mais inteligente e preparado para lidar com a forma natural como as pessoas digitam no dia a dia.
Espero que possa ter lhe ajudado!