ООП в JavaScriptКлассыmedium

Randomizer

Реализуйте класс Randomizer, позволяющий генерировать случайные числа из промежутка.

Конструктор может принимать в качестве аргумента одно или два целых числа. Если аргумент один — то должны генерироваться числа от 0 до этого числа (обе границы включительно). Если аргументов два, то должны генерироваться числа от первого числа до второго (также оба включительно).

Еcли аргументы задаются некорректно, конструктор должен бросать ошибку. Текст ошибки может быть произвольным.

const r1 = new Randomizer(5); // генерирует числа 0, 1, 2, 3, 4, 5 const r2 = new Randomizer(3, 6); // генерирует числа 3, 4, 5, 6

Следующие вызовы бросают ошибку.

const r3 = new Randomizer(); // мало аргументов const r4 = new Randomizer(1, 3, 7); // много аргументов const r5 = new Randomizer("qwe"); // аргумент не число const r6 = new Randomizer(2.6, 8); // число не целое const r7 = new Randomizer(8, 1); // левая граница больше правой

Помимо конструктора у класса должен быть ровно один метод — next, который ничего не принимает, но каждый раз возвращает случайное число из промежутка.

Очередной вызов не должен вернуть число, которое мы получали ранее. Соответственно, в какой-то момент числа могут закончиться. В этом случае метод должен бросить ошибку. Текст может быть произвольным.

const r = new Randomizer(2, 4); r.next(); // 3 r.next(); // 2 r.next(); // 4 r.next(); // Error!