Fala, rapaziada! Tudo bem?
Aqui falarei sobre a questão: 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 exercício, montei mais de um código. Sendo o primeiro feito totalmente de cabeça e o segundo analisando algumas questões que poderiam melhorar, pesquisando meios para otimiza-las. Busquei também utilizar mais Template Strings.
Com base na situação proposta, essa foi minha resolução:
//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!".
alert('Teste de funcionalidade para mensagens semanais.');
let diaUsuario = prompt('Escreva em qual dia da semana estamos (EX: Sábado):');
console.log(`Resposta do usuário: ${diaUsuario}`);
//Convertendo o valor em maiúsculas para situações como: Sábado, sábado, SÁBADO e etc.
diaUsuario = diaUsuario.toUpperCase();
console.log(`Resposta convertida: ${diaUsuario}`);
//Caso o usuário digite Sábado OU Domingo.
if (diaUsuario === 'SÁBADO' || diaUsuario === 'DOMINGO') {
console.log(`${diaUsuario} é no fim de semana.`);
alert('Tenha um ótimo fim de semana!');
//Caso o usuário digite qualquer outro dia (ou qualquer outra coisa rs).
} else {
console.log(`${diaUsuario} é um dia da semana.`);
alert('Tenha uma boa semana!');
}
Após o usuário escrever o dia, faço uma conversão de todo o texto para maiúscula. Sendo assim é possível escrever:
Domingo, domingo, DOMINGO, DoMiNgO e etc. Que o resultado gerando no código será o mesmo: DOMINGO.
Com a conversão feita, entramos na estrutura condicional. O if irá verificar se a variável trouxe as palavras "SÁBADO" ou "DOMINGO" e retornar a mensagem de fim de semana.
Caso a variável tenha outro dia ou qualquer valor diferente dos citados acima, irá para o else com a mensagem de boa semana.
Brincando um pouco mais com o código, pedi a ajuda da Luri e aumentamos a verificação da variável:
diaUsuario = diaUsuario.toUpperCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g, '');
Agora, além de deixar em maiúscula, ele apaga todos os espaços com o ".trim()" e retira as acentuações com o ".normalize()". Esse último eu tenho que pesquisar mais sobre, apenas usei o modelo que a Luri passou e deu certo!
Também fiz a validação de campo vazio utilizando:
if (diaUsuario == '') {
console.log('O campo está vazio.');
alert('O campo está vazio. Atualize a página e tente novamente.');
}
Aplicando antes das condicionais de fim de semana.
Para essa atividade, foi isso que desenvolvi. Espero que com o decorrer do curso e aprendizado adquirido, eu volte nesses exercícios e os melhore.
Debugando por completo!
(Ainda pretendo validar cada dia da semana :P)