Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

Foi dificil, havia um erro e eu demorei bastante pra entender o que houve

Acontece que existe o comando - "Declare uma variável chamada nome e atribua a ela o valor "Lua"". e depois - "Use um prompt para perguntar o nome do usuário e armazená-lo na variável nome." Em nenhum momento foi dito que ao usar o "let nome = "Lua";" não conseguiriamos usar "let nome = prompt('Digite o seu nome');" Inclusive essa é opnião do instrutor, quando consultei por duvida, a sujestão era usar da forma sitada a cima, e não funciona por estar escrito duas vezes "nome". Eu não tenho noção nenhuma de programação, estou aprendendo tudo agora, e tive que descobrir sozinha o que estava errado. No final deu certo, mas ainda acho que a instrução ficou meio vaga. E que será necessaria uma ajuda maior aos alunos.

O meu ficou assim

alert("Bem-vindo ao nosso site"); let nome = "lua"; let idade = 25; let numeroDeVendas = 50; let saldoDisponivel = 1000;

alert("Erro! Preencha todos os campos");

let mensagemDeErro = "Erro! Preencha todos os campos"; alert(mensagemDeErro);

nome = prompt("Digite seu nome"); idade = prompt("Digite sua idade");

if(idade>=18) { alert(" Pode tirar a habilitação!"); }

10 respostas
solução!

Oi Agda,

Entendo sua frustração com o desafio, é super comum encontrar esses obstáculos no início da jornada. 😜

O problema que você enfrentou é sobre o escopo de variáveis em JavaScript. Quando você declara let nome = "Lua";, você está criando uma variável chamada nome dentro de um escopo. Ao tentar usar let nome = prompt('Digite o seu nome');, você está tentando declarar outra variável com o mesmo nome no mesmo escopo, o que causa um erro.

A solução correta é usar apenas nome = prompt('Digite o seu nome'); para atribuir um novo valor à variável nome já existente. Dessa forma, você está reutilizando a variável declarada anteriormente, sem criar uma nova.

Seu código corrigido ficaria assim:

alert("Bem-vindo ao nosso site");
let nome = "lua";
let idade = 25;
let numeroDeVendas = 50;
let saldoDisponivel = 1000;

alert("Erro! Preencha todos os campos");

let mensagemDeErro = "Erro! Preencha todos os campos";
alert(mensagemDeErro);

nome = prompt("Digite seu nome");
idade = prompt("Digite sua idade");

if(idade>=18) {
  alert(" Pode tirar a habilitação!");
}

Note que removemos o let antes de nome = prompt("Digite seu nome"); e idade = prompt("Digite sua idade");. Isso garante que estamos apenas atribuindo novos valores às variáveis já declaradas.

🤓 Para saber mais: Declarações e Escopo de Variáveis em JavaScript

Continue praticando e explorando, você está no caminho certo! 🤔

Amiga, presta atenção que eu vou te explicar de um jeito bem fácil, tá? Vamos pensar assim: imagina que você tem uma caixinha chamada nome, e nela você coloca o nome 'Lua'. Depois, você quer perguntar para alguém o nome dela e guardar na mesma caixinha. Até aí, beleza, né?

Só que, se você tentar criar duas caixinhas com o mesmo nome (nome), o computador vai ficar confuso e falar: 'Ei, mas essa caixinha já existe! O que você tá tentando fazer? '. Isso acontece porque a gente usou duas vezes a palavra mágica let pra criar a mesma caixinha.

Como resolve isso? Simples, amiga! A gente só cria a caixinha nome uma vez no começo do código, e depois, quando for usar de novo, a gente só fala: nome = prompt("Qual é o seu nome?"); Assim, o computador entende que você está atualizando o valor dentro da caixinha, e não tentando criar uma nova

Agora sim consegui entender! obrigada Luis e muito obrigada Jaine. Vocês me ajudaram demais !!!

ótima explicação...Me ajudou também! Obrigada ;)

Boa noite!

Muito grato Luis Dias e Jaine, eu também tive o mesmo problema e com ajuda de vocês conseguir entender como funciona a aplicação dos comandos. Obrigado pela contribuição.

Me ajudou bastante também a explicação de vocês!

Excelente explicação! Jaine muito didática, parabéns e muito obrigado :)

Muito obrigada Luis e Jaine! Vocês foram muito didáticos na explicação!!!

Era exatamente o erro que eu estava enfrentando, obrigado Luis e Jaine pela explicação!

Oi, alguém poderia me explicar quando e porque usa os (), "; Fiquei um pouco confuso em que momentos usar pois na aula tinha ('exemplo') e em algum caso só 'exemplo'. Desde já agradeço.