Olá, Pedro. Como vai?
Excelente iniciativa! Adaptar os desafios propostos no curso para criar cenários próprios é uma das melhores formas de fixar o aprendizado e desenvolver a autonomia na programação. O seu código ficou ótimo e aplica muito bem os conceitos fundamentais de variáveis, entrada de dados com prompt, exibição com alert e estruturas condicionais (if, else if, else).
A sua lógica para calcular o saldoDisponivel dinamicamente com base nas vendas do usuário foi uma sacada muito inteligente para conectar as variáveis do programa!
Gostaria de complementar a sua solução com duas dicas de boas práticas e correção em JavaScript que vão deixar seu código ainda mais profissional:
**1. Declaração da Variável saldoDisponivel**
No JavaScript moderno, é uma regra crucial sempre declarar as variáveis utilizando uma palavra-chave, como let ou const, antes do nome dela. Na linha do saldo, a variável foi inicializada direto: saldoDisponivel = numVendas * 50.
Para evitar comportamentos inesperados no código (escopo global acidental), o ideal é colocar o let ali também:
let saldoDisponivel = numVendas * 50;
2. Conversão de Tipos (Boas Práticas de Entrada de Dados)
Tudo o que o usuário digita dentro de um prompt() é capturado pelo navegador no formato de texto (String). O JavaScript é uma linguagem bem flexível e consegue fazer a multiplicação numVendas * 50 convertendo o texto para número de forma automática por baixo dos panos.
No entanto, em testes lógicos de comparação como idade >= 18, depender dessa conversão automática pode gerar bugs em sistemas maiores. A boa prática recomenda converter explicitamente os valores numéricos logo na entrada usando a função parseInt() (para números inteiros). Veja como o código completo fica mais robusto:
alert('Boas vindas ao site');
let nome = prompt('Digite seu nome:');
// Convertendo a entrada de texto para número inteiro com o parseInt
let idade = parseInt(prompt('Digite sua idade:'));
let numVendas = parseInt(prompt('Digite quantas vendas você fez este mês:'));
let alerta = 'Você tem idade mas não pode pagar pela habilitação';
let saldoDisponivel = numVendas * 50;
if (idade < 18) {
alert('Você não pode tirar a habilitação');
} else if (idade >= 18 && saldoDisponivel >= 1000) {
alert('Você pode tirar a habilitação');
} else {
alert(alerta);
}
Parabéns pelo empenho em ir além do enunciado do desafio e criar um fluxo mais completo. É assim que evoluímos na lógica de programação!
Espero que possa ter lhe ajudado!