RangeError: количество повторений должно быть меньше бесконечности
Исключение JavaScript "repeat count must be less than infinity" возникает, когда метод String.prototype.repeat() используется с аргументом count, который равен бесконечности.
Сообщение
RangeError: Invalid string length (V8-based) RangeError: Invalid count value: Infinity (V8-based) RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox) RangeError: Out of memory (Safari) RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity (Safari)
Тип ошибки
Что пошло не так?
Был использован метод String.prototype.repeat(). Он имеет параметр count, указывающий количество повторений строки. Он должен находиться в диапазоне от 0 до положительной Infinity, не включая ее, и не может быть отрицательным числом. Диапазон допустимых значений может быть описан так: [0, +∞).
Полученная строка также не может быть больше максимального размера строки, который может отличаться в движках JavaScript. В Firefox (SpiderMonkey) максимальный размер строки составляет 230 - 2 (~2ГиБ).
Примеры
Некорректные случаи
"abc".repeat(Infinity); // RangeError "a".repeat(2 ** 30); // RangeError
Корректные случаи
"abc".repeat(0); // '' "abc".repeat(1); // 'abc' "abc".repeat(2); // 'abcabc' "abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Resulting_string_too_large