Boa noite, Guilherme, a sua lógica ficou bacana. Vou deixar alguma dicas para você e alguns ajustes também.
OBS: Quando for postar códigos aqui no fórum você pode usar a ferramenta do editor </> para postar os blocos de códigos.
1- O comando prompt tem como retorno uma String, então quando desejamos usar um número retornado por esse comando devemos convertê-lo para numérico usando os seguintes comandos parseInt(argumento) -> para inteitos ou parseFloat(argumento) -> para decimais.
2- Sempre que formos atribuir uma String a uma variável devemos colocar a String entre " string" (aspas duplas) ou 'string' (aspas simples) ou string
(crase) na hora da atribuição.
3 - Depois dos blocos de comando de um if( .... ){......} ou else( ... ){ .... } não usamos ; porque as próprias chaves já delimitam o bloco de comandos.
4 - toda variável declarada como let ela só pode ser declarada uma única vez dentro de bloco de comandos. Como você fez todas as atividades em um único bloco de códigos não pode declarar as variáveis novamente não. Basta usá-las.
vou editar o seu código seguindo as dicas que te passei.
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);
nome = prompt('Digite o seu nome'); // variável já foi declarada anteriormente
//Faz a conversão da String para número
idade = parseInt(prompt('Digite a sua idade')); // variável já foi declarada anteriormente
//comando repetido - pode apagar esse comentário
//let idade = prompt('Digite a sua idade'); - pode apagar essa linha
if (idade >= 18) {
alert('Pode tirar a habilitação!');
}else{
alert('Você ainda não é de maior!');
}
Caso queira pode olhar a solução da minha atividade que eu deixei aqui no fórum, link: https://cursos.alura.com.br/forum/topico-projeto-desafio-01-ok-480712
Se essa resposta te ajudou, marca como resolvido para que possa ajudar outras pessoas também.