Olá, Allan! Como vai?
A função Math.random()
gera um número decimal aleatório entre 0 (inclusive) e 1 (exclusivo). Quando você multiplica esse número por 3, você obtém um número decimal entre 0 (inclusive) e quase 3 (exclusivo). Ao usar parseInt()
, você está convertendo esse número decimal em um número inteiro, descartando a parte decimal.
No caso do código let numeroAleatorio1a3 = parseInt(Math.random() * 3) + 1;
, o que acontece é o seguinte:
Math.random() * 3
gera um número entre 0 e quase 3.parseInt()
converte isso para um inteiro, resultando em 0, 1 ou 2.- Ao adicionar 1, o resultado final é 1, 2 ou 3.
Por outro lado, no código let numeroAleatorio1a3 = parseInt(Math.random() * 3 + 1);
, o cálculo de Math.random() * 3 + 1
gera um número entre 1 (inclusive) e quase 4 (exclusivo). Quando você aplica parseInt()
a isso, você obtém um número inteiro entre 1 e 3.
Ambos os códigos podem gerar números entre 1 e 3, mas o primeiro é mais comum e direto para esse propósito, pois adiciona 1 após a conversão para inteiro, garantindo que o valor mínimo seja 1.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.