детские болезни у него те-же самые, но зато есть возможность отвязаться от системной реализации random, а так же обеспечить повторяемость случайных значений, что может быть полезно при генерации игрового мира по сиду.
Aleksandr-JS-Developer, тут даже спорить не буду. Используемый в Math.random() ГПСЧ (он же PRNG) не криптостойкий, имеет не очень большой период повторяемости и у него куча других недостатков, но распределение достаточно равномерное, и считается относительно быстро.
Объясню на всякий случай.
1. предположим у нас есть случайная величина распределенная равномерно в диапазоне от 0 до 2
2. если мы данную величину будем округлять Math.round() то:
- в 0 у нас попадут величины от 0 до 0.5 (что есть четверть от диапазона)
- в 1 у нас попадут величины от 0.5 до 1.5 (что есть половина от диапазона)
- в 2 у нас попадут величины от 1.5 до 2 (что есть четверть от диапазона)
И из-за такого (неверного) округления и происходит смещение распределения округленных значений
если это то что вы хотите - скину код