RangeError: repeat count must be less than infinity

Du läser den engelska versionen av det här innehållet eftersom det inte finns någon översättning för detta språk. Hjälp oss att översätta den här artikeln!

Message

RangeError: argument out of range (Edge)
RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox)

RangeError: Invalid count value (Chrome)

Error type

RangeError

What went wrong?

The String.prototype.repeat() method has been used. It has a count parameter indicating the number of times to repeat the string. It must be between 0 and less than positive Infinity and cannot be a negative number. 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 can differ in JavaScript engines. In Firefox (SpiderMonkey) the maximum string size is 228 -1 (0xFFFFFFF).

Examples

Invalid cases

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

Valid cases

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

See also