2
respostas

Lógica de programação: Atividade 13 (Desafio: Hora da Prática)

Me identificando bastante com o Java Script! Incluí na estrutura condicional "if" o "else" que seria necessário para dar um retorno mais completo, nessa informação básica, que seria avaliar se a pessoa está apta (tem a idade suficiente) para tirar a habilitação! Na criação do prompt, considerei utilizar as variáveis nome e idade, para que ficassem registradas. Primeiro utilizei let nome = prompt("Digite seu nome"), mas não funcionou, então substituí somente pelo nome da variavel, deixando nome = prompt("Digite seu nome")....
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Por que quando declarei a variavel

let nome = prompt("Digite seu nome");
let idade = prompt("Digite a sua idade");
if (idade >= 18) {
alert('Pode tirar a habilitação!');
}

não funcionou comigo, por isso optei pelo que fiz. Queria entender o por que?

Oi, Thais! Como vai?

O que está impedindo seu código de funcionar corretamente é que o valor retornado pelo prompt sempre vem como string. Ou seja, mesmo que a pessoa digite um número, o valor armazenado em idade ainda será do tipo texto — e comparar uma string com um número pode gerar resultados inesperados ou fazer o código não entrar no if.

Resolva fazendo o seguinte: converta o valor de idade para número usando parseInt() ou Number() logo após capturá-lo.

Veja este exemplo:


let nome = prompt("Digite seu nome");
let idade = parseInt(prompt("Digite a sua idade"));

if (idade >= 18) {
  alert(nome + ", você pode tirar a habilitação!");
} else {
  alert(nome + ", você ainda não tem idade suficiente para tirar a habilitação.");
}

Dica extra: sempre declare suas variáveis com let, como você já fez no primeiro exemplo. Evite deixar só nome = prompt(...), pois isso cria a variável de forma implícita no escopo global, o que pode causar problemas em códigos maiores.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.