Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Rapaz, tá certo isso?

Seguinte gente, fiz o código e rodou legal, mas ia ser legal receber um feedback... Alguém pode dar uma avaliada? Sinto que pulei umas casinhas...

alert("Boas vindas ao nosso site!");

let nomeUsuario = prompt("Qual é o seu nome?");
let idadeDoUsuario = prompt("Quantos anos você tem?");

let nome = (nomeUsuario);
let idade = (idadeDoUsuario);
let numeroDeVendas = (50);
let mensagemDeErro = ("Erro! Preencha todos os campos");

if (idade>=18) alert("Pode tirar a CNH!")
else alert(mensagemDeErro);
4 respostas
solução!

Boa noite, Bernardo! Tudo bem com você?

Li seu post com a voz do meme "rapaz, ta certo isso? 🤡" hehehe

Mas, partindo para o código, ele está bem próximo do que foi pedido no desafio, mas há alguns pontos que podemos ajustar e vou listar para você:

  1. Variáveis nome e idade: Você está atribuindo os valores das variáveis nomeUsuario e idadeDoUsuario para nome e idade, respectivamente, o que está correto. No entanto, você poderia simplificar usando diretamente as variáveis nome e idade nos prompts.

  2. Conversão de tipos: O valor retornado pelo prompt é uma string, então é importante converter a idade para um número antes de fazer a comparação no if.

A seguir, uma versão ajustada do seu código com base nas dicas acima:

alert("Boas vindas ao nosso site!");

let nome = prompt("Qual é o seu nome?");
let idade = parseInt(prompt("Quantos anos você tem?"), 10);

let numeroDeVendas = 50;  
let mensagemDeErro = "Erro! Preencha todos os campos";

if (idade >= 18) {
    alert("Pode tirar a CNH!");
} else {
    alert(mensagemDeErro);
}
  • Conversão de idade: Usei parseInt para converter a idade retornada pelo prompt de string para número.
  • Blocos de código: Adicionei chaves {} no if e else para melhorar a legibilidade, embora não seja estritamente necessário para uma única linha de código.

Aplicando essas dicas, seu código ficará ainda melhor. Mas, não se preocupe, com tempo e prática ficará cada vez mais natural tanto a lógica quanto boas práticas de programação.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

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

Boa noite Rafael, obrigado pela ajuda!

Ainda não conhecia o comando parse int, mas foi muito bom saber dele! Revendo agora o código, realmente nem fez muito sentido atribuir nome e idade a nomeUsuario e idadeUsuario...

Mas acredito que seja como você disse, com o tempo eu chego lá!

Boa noite ,

Outra maneira de transformar a idade em "número" no lugar de usar o parseInt(), podemos trocá-lo por um sinal de + que fará o mesmo efeito.

Ex: let idade = +prompt('Digite a sua idade');

Estou correto Prof. Rafael Rocha?

Espero ter ajudado.

Olá Tony,

Está correto sim, quando usamos o operador unário + ele tenta converter o seu operando em um número. Se o operando for uma string que representa um número, ele a converte em um número real. Se a string não puder ser convertida em um número válido, o resultado será NaN (Not-a-Number). Podemos confirmar essa conversão utilizando a função typeof() que retorna o tipo da variável, como demonstrado abaixo:

let idade =+ prompt('Digite a sua idade');
console.log(typeof(idade))

Imagem exibindo a execução do código acima, após o usuário digitar 10 e o console apresentar o resultado number

Abraços e bons estudos!