1
resposta

Duvidas sobre while javascript

Gostaria de saber o prq n funciona, acredito que tenha sido o "while" mas dps de um tempo quebrando a cabeça, n consegui entender o prq O codigo só funciona ate o alert.

let idadeUsuario;
alert ('Ola seja bem vindo');
while (idadeUsuario < 18) { 
 idadeUsuario = prompt('Digite sua idade');
if (idadeUsuario >= 18) {
    alert('Acesso liberado');
} else {
    alert ('Sinto muito, somente a partir dos 18 anos');  
      }
}
1 resposta

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!