Gostaria de entender por que que para fazer o Math.random ir de 0 a 10, por exemplo, se usa Math.random () * 10 + 1 e não Math.random () * 11.
Isso faz alguma diferença?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Gostaria de entender por que que para fazer o Math.random ir de 0 a 10, por exemplo, se usa Math.random () * 10 + 1 e não Math.random () * 11.
Isso faz alguma diferença?
Oi Camille,
A sua dúvida é bastante pertinente.
Math.random() gera um número decimal entre 0 e 0.999999...
Math.floor() arredonda este número para baixo, removendo a parte decimal
Quando multiplicamos por um número, temos dois cenários:
Math.random() * 11:
Math.random() * 10 + 1:
Se quisermos números de 1 a 10:
Math.floor(Math.random() * 10) + 1; // Correto
Se quisermos números de 0 a 10:
Math.floor(Math.random() * 11); // Correto