1
resposta

[Projeto] Hora de Praticar e Pesquisar

Eu fiz e refiz o exercício várias vezes e não estava entendendo os erros:* "Cannot redeclare block-scoped variable 'nome"* e "Cannot redeclare block-scoped variable 'idade'. O erro aparecia nas linas 09, 10 e abaixo e o exercício não dava certo na página. Revisitei as aulas e mesmo assim não conseguia entender porque não estava funcionando. Hoje finalmente entendi que como já usei o let nas linhas 2 e 3, o comando fica implicito no código nas linhas abaixo e digitar novamente gera um bug. Possivelmente a explicação técnica deva ser melhor do que escrevi, mas foi o que entendi após minhas pesquisas. Agradeço caso alguém tenha uma explicação mais didática.

Após correção cheguei nesse resultado:

  1. Mostre um alerta com a mensagem "Boas-vindas ao nosso site!" / alert ('Boas vindas ao nosso site!');
  2. Declare uma variável chamada nome e atribua a ela o valor "Lua / let nome = 'Lua';
  3. Crie uma variável chamada idade e atribua a ela o valor 25 / let idade = 25;
  4. Defina uma variável numeroDeVendas e atribua a ela o valor 50 / let numeroDeVendas = 50;
  5. Defina uma variável saldoDisponivel e atribua a ela o valor 1000 / let saldoDisponivel = 1000;
  6. Exiba um alerta com o texto "Erro! Preencha todos os campos" / alert ('Erro! Preencha todos os campos');
  7. Declare uma variável chamada mensagemDeErro e atribua a ela o valor "Erro! Preencha todos os campos" .Agora exiba um alerta com o valor da variável mensagemDeErro:
  8. let menssagemDeErro = 'Erro! Preencha todos os campos';
  9. alert (menssagemDeErro);
  10. Use um prompt para perguntar o nome do usuário e armazená-lo na variável / nome = prompt ('Digite seu nome');
  11. Peça ao usuário para digitar sua idade usando um prompt e armazene-a na variável / idade = prompt ('Digite sua idade');
  12. Agora, caso a idade seja maior ou igual que 18, exiba um alerta com a mensagem "Pode tirar a habilitação!" /
  13. idade = prompt (‘digite sua idade);
  14. if (idade >=18) { alert ('Pode tirar a habilitação!'); }
1 resposta

Olá! Tudo bem?

Fico feliz que você conseguiu identificar o problema. Vou tentar explicar de forma mais didática para ajudar ainda mais no seu entendimento.

Em JavaScript, quando usamos let para declarar uma variável, estamos dizendo ao JavaScript que queremos criar uma nova variável. Se tentarmos declarar a mesma variável novamente usando let, o JavaScript vai reclamar, pois ele não permite que uma variável de escopo de bloco seja redeclarada.

A chave aqui é lembrar que let deve ser usado apenas uma vez para declarar uma variável. Depois disso, você pode simplesmente atribuir novos valores a essas variáveis sem usar let novamente.

Caso surjam quaisquer dúvidas eu estarei à sua disposição.

Abraços e bons estudos!