RangeError: repeat count must be less than infinity
The JavaScript exception "repeat count must be less than infinity" occurs when theString.prototype.repeat()
method is used with acount
argument that is infinity.
Message
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)
Error type
What went wrong?
TheString.prototype.repeat()
method has been used. It has acount
parameter indicating the number of times to repeat the string. Itmust be between 0 and less than positiveInfinity
and cannot be a negativenumber. The range of allowed values can be described like this: [0, +∞).
The resulting string can also not be larger than the maximum string size, which candiffer in JavaScript engines. In Firefox (SpiderMonkey) the maximum string size is230 - 2 (~2GiB).
Examples
Invalid cases
js
"abc".repeat(Infinity); // RangeError"a".repeat(2 ** 30); // RangeError
Valid cases
js
"abc".repeat(0); // ''"abc".repeat(1); // 'abc'"abc".repeat(2); // 'abcabc'"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)