Oi, Davi! Tudo bem?
O problema principal está relacionado a variável idadeUsuario
que não tem um valor inicial definido antes do loop while
, o que pode causar um comportamento inesperado. É uma boa prática também converter o valor retornado pelo prompt
, que é uma string, para um número antes de fazer a comparação, deixando o nosso código da seguinte forma:
let idadeUsuario = 0; // Inicializa a variável com um valor numérico
alert('Olá, seja bem-vindo!');
while (idadeUsuario < 18) {
idadeUsuario = parseInt(prompt('Digite sua idade'), 10); // Converte a string para número
if (idadeUsuario >= 18) {
alert('Acesso liberado');
} else {
alert('Sinto muito, somente a partir dos 18 anos');
}
}
Assim, inicializamos idadeUsuario
com o valor 0
para garantir que a comparação no while
funcione corretamente na primeira execução e usamos parseInt
para converter a entrada do prompt
de string para número, permitindo uma comparação correta com o valor 18
.
Espero ter ajudado!
Um forte abraço e bons estudos!