Spec-Zone.ru › JavaScript

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)

Тип ошибки

RangeError

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

Был использован метод 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)

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

  • String.prototype.repeat()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API