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 acountargument that is infinity.
In this article
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
RangeErrorWhat 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); // RangeErrorValid cases
js
"abc".repeat(0); // ''"abc".repeat(1); // 'abc'"abc".repeat(2); // 'abcabc'"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)