1
resposta

[Dúvida] Desafio:

alert("Boas Vindas 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);

let nome = prompt("Digite seu nome: ");

let idade = prompt("Digite aqui sua idade: ");

if(idade>=18){ alert("Pode tirar habilitação)"; } else { alert('Não pode tirar habilitação'); }

Meu vscode esta dizendo que Não é possivel declarar novamente a variavel de escopo de bloco "nome" "idade" e nao esta rodando no navegador

1 resposta

Fala Carlos ! tudo bem? Esse erro do VSCode (e do navegador também, se você abrir o console) acontece porque você está tentando declarar a mesma variável duas vezes com let no mesmo escopo, e o JavaScript não permite isso.

let nome = "lua";
let idade = 25;
...
let nome = prompt("Digite seu nome: ");
let idade = prompt("Digite aqui sua idade: ");

Isso causa o erro: "Cannot redeclare block-scoped variable"

Um erro de sintaxe na mensagem do alert:

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

Como corrigir: Você pode simplesmente remover a primeira declaração, ou reutilizar a variável, sem usar let novamente:

alert("Boas Vindas ao nosso Site!");

let nome = prompt("Digite seu nome: ");
let idade = prompt("Digite aqui sua idade: ");
let numerodevendas = 50;
let saldodisponivel = 1000;

if (nome === "" || idade === "") {
    let mensagemdeerro = "Erro, preencha todos os campos";
    alert(mensagemdeerro);
} else {
    if (idade >= 18) {
        alert("Pode tirar habilitação");
    } else {
        alert("Não pode tirar habilitação");
    }
}