RangeError: repeat count must be less than infinity

Сообщение

RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox)

RangeError: Invalid count value (Chrome)

Тип ошибки

Что пошло не так?

Был использован метод String.prototype.repeat(), с параметром count, указывающим количество повторений строки. Параметр может принимать значения между 0 и положительной Infinity, и не может быть отрицательным числом. Диапазон допустимых значений может быть описан следующим образом: [0, + ∞).

Полученная строка также не может превышать максимальный размер строки, который может отличаться в различных движках JavaScript. В Firefox (SpiderMonkey) максимальный размер строки составляет 228 -1 (0xFFFFFFF).

Примеры

Неверно

js
"abc".repeat(Infinity); // RangeError
"a".repeat(2 ** 28); // RangeError

Верно

js
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)

Смотрите также