1
resposta

[Dúvida] Fiz certo?

Lendo os desafios, tive a ideia de unificar tudo para adicionar um pouco mais de dificuldade. Assim cheguei nesse código:
OBS: lembrei depois que precisava usar uma template string, mas não tinha o dado "saldoEmConta" em lugar nenhum. Então improvisei um micro banco de dados em "LISTA DE USÚARIOS".

// LISTA DE USÚARIOS
usuario1 = 'James';
let saldoEmConta = 7897.98;

// DESAFIO 5:
alert('Olá!');
let usuario = prompt('Qual seu nome?');
alert('Bem-vindo, ' + usuario + '!');

// DESAFIO 1:
let diaDaSemana = prompt(usuario + ' qual é o dia da semana?');
if (diaDaSemana == 'domingo' || diaDaSemana == 'sábado') {
alert('Bom fim de semana!');
}
else {
    alert('Boa semana!');
}

//DESAFIO 2:
let numero = prompt('De -10 a 10, escolha um número:');
if (numero < 0 ) {
alert('Negativo... Interessante.');
}
else if (numero >= 0) {
alert('O número é positivo');
}

//DESAFIO 3:
let pontos = prompt('Quantos pontos você tem?');
if (pontos >= 100) {
alert('Parabéns, você é um jogador experiente!');
} else { (100 - pontos)
    alert('Você ainda precisa de ' + (100 - pontos) + ' pontos para ser experiente.');
}

//DESAFIO 4:
if (usuario == 'James' && pontos >= 130 && diaDaSemana == 'domingo' && numero == -1) { 
    alert(`Seu saldo em conta é de R$${saldoEmConta}`);
} else { 
    alert('Bem vindo ao nosso site! ;)');
}
1 resposta

Oii, Dheimeson! Tudo bem?

É muito bacana ver sua iniciativa de ir além do que foi pedido. Unificar os desafios em um único fluxo lógico mostra que você tá compreendendo como os dados podem interagir entre si em um programa.

  • Lógica de condicionais: Você utilizou corretamente o operador lógico || (OU) para validar o fim de semana e o && (E) para a validação múltipla no desafio final.
  • O uso das variáveis para personalizar as mensagens (como chamar o usuário pelo nome nos prompts seguintes) torna a experiência muito mais natural.
  • A ideia de calcular quanto falta para atingir a pontuação (100 - pontos) foi excelente. Isso mostra que você já está confortável com operações matemáticas dentro do JavaScript.

Pequenas sugestões de melhoria:

Notei que usuario1 foi criado sem uma palavra-chave. Em JavaScript, o ideal é sempre utilizar let (para valores que podem mudar) ou const (para valores fixos).

Se o usuário digitar "Sábado" com a primeira letra maiúscula, o JavaScript pode não reconhecer, pois ele diferencia maiúsculas de minúsculas. Uma dica é usar o método .toLowerCase():

if (diaDaSemana.toLowerCase() == 'domingo' || diaDaSemana.toLowerCase() == 'sábado') {
    alert('Bom fim de semana!');
}

No desafio 3, você fez uma concatenação comum. Pra praticar ainda mais as Template Strings (aquelas com a crase ```), você poderia escrever assim:

alert(`Você ainda precisa de ${100 - pontos} pontos para ser experiente.`);

Seu raciocínio para o "micro banco de dados" foi uma ótima saída para o desafio do saldo. Continue com esse pensamento crítico e explorador.

Qualquer dúvida que surgir durante os estudos, pode contar comigo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!