Al ver por separado lo que hace la función Math.floor(Math.random()*10)+1
Me recordó a la jerarquía de operaciones que veíamos en el colegio cuando hacíamos alguna ecuación, en donde se tenia que:
- Paréntesis ( ) → Se resuelven primero.
- Órdenes (potencias y raíces) → Se calculan antes de multiplicaciones o sumas.
- Multiplicación y División (de izquierda a derecha).
- Suma y Resta (de izquierda a derecha).
En este caso, el Math.random, nos da un número aleatorio que va desde el 0 hasta el 1, entonces obtendremos números decimales que van de 0 a 1, como: 0,089802384 que resultan imposibles de ser adivinados por el usuario.
Por ello se multiplica por 10 primeramente para tener: 0,089802384x10= 0,89802384
Sin embargo, aun seguimos teniendo un número decimal, y precisamente, para ello se encuentra la función de Math.floor
, para quitar los números al lado derecho de la coma y dejar los números a la izquierda de la coma, quedando:
0
Finalmente el +1
nos da la posibilidad de que exista el 1 y el 10.
0+1=1
Por lo tanto con esta función obtenemos un rango de números aleatorios del 1 al 10.