Как получить рандомное число от 0 до 255?
Основы языка
Случайное число от 0 до 255 получают через `Math.floor(Math.random() 256) — Math.random() даёт [0, 1), умножение на 256 и floor` дают целые 0–255.**
Формула
const random = Math.floor(Math.random() * 256); // 0..255 включительноРазбор:
Math.random()— дробное число в диапазоне[0, 1)(0 включительно, 1 нет).* 256—[0, 256).Math.floor()— округление вниз → целые0, 1, ..., 255.
Общая формула для диапазона [min, max]
function randomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
randomInt(0, 255); // 0..255(max - min + 1) — количество значений, + min — сдвиг к началу диапазона.
Криптографически стойкое (при необходимости)
Для безопасности (токены, ключи) — crypto:
crypto.getRandomValues(new Uint8Array(1))[0]; // 0..255, криптостойкоеMath.random() не криптостойкий — не для секретов.
Частая ошибка
Math.round(Math.random() * 255); // неравномерно! 0 и 255 реже
Math.floor(Math.random() * 255); // 0..254 — не включает 255!Правильно — Math.floor(Math.random() * 256).
Коротко для собеседования
Случайное 0–255: Math.floor(Math.random() * 256) (Math.random() даёт [0,1), ×256 → [0,256), floor → 0..255). Общая формула диапазона: Math.floor(Math.random() * (max - min + 1)) + min. Для безопасности (токены) — crypto.getRandomValues (Math.random не криптостойкий). Частая ошибка — * 255 (не включает 255) или round (неравномерно).