Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Eu não entendi quando utilizar 'parseInt'

//Crie um programa de contagem regressiva. Peça um número e conte deste número até 0, usando um loop while no console do navegador.
let numero = prompt("Digite um número:");

while (numero >= 0) {
  console.log(numero);
  numero--;
}

A minha dúvida é o seguinte:

No código da atividade de multipla escolha anterior apareceu esse 'parseInt' e eu queria saber quando eu utilizo ele, e se nesse caso é necessário colocá-lo, ou colocar por exemplo: 'numero = Number(numero);'.

Obrigada desde já!

1 resposta
solução!

Olá, Nathália, como vai?

A sua dúvida é bem comum no início e está ligada ao tipo de dado que o JavaScript retorna ao usar o prompt. Sempre que você usa prompt, o valor retornado é uma string, mesmo que a pessoa digite um número. Por isso, em vários cenários é necessário converter esse valor para um tipo numérico antes de realizar cálculos ou comparações mais previsíveis.

No seu código da contagem regressiva, ele funciona porque o JavaScript faz uma conversão implícita quando você usa o operador >= e o operador --. Ainda assim, é uma boa prática converter explicitamente esse valor logo após o prompt para evitar comportamentos inesperados em situações mais complexas ou quando o valor digitado não é exatamente o que se espera.

O parseInt é utilizado quando você quer converter uma string para um número inteiro. Já o Number converte a string para número e aceita tanto inteiros quanto decimais. No exercício da média, o uso do parseInt faz sentido porque o cálculo espera números inteiros digitados pelo usuário. Nesse caso, a conversão é necessária, pois a soma de strings resultaria em concatenação e não em um cálculo matemático.

Como exemplo, se a pessoa digitar "10" no prompt, parseInt("10") retorna 10 e Number("10") também retorna 10. Se digitar "10.5", parseInt retorna 10, enquanto Number retorna 10.5. No seu exercício de contagem regressiva, tanto parseInt quanto Number funcionariam corretamente.

Obrigado por compartilhar sua dúvida e continue trazendo suas questões por aqui, o fórum está à disposição.

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

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