RangeError: repeat count muss kleiner als unendlich sein

Die JavaScript-Ausnahme "repeat count muss kleiner als unendlich sein" tritt auf, wenn die Methode String.prototype.repeat() mit einem count-Argument verwendet wird, das unendlich ist.

Meldung

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)

Fehlertyp

Was ist schiefgelaufen?

Die Methode String.prototype.repeat() wurde verwendet. Sie hat einen count-Parameter, der angibt, wie oft der String wiederholt werden soll. Der Wert muss zwischen 0 und kleiner als positive Infinity liegen und darf keine negative Zahl sein. Der Bereich der zulässigen Werte kann so beschrieben werden: [0, +∞).

Der resultierende String kann auch nicht größer als die maximale Stringgröße sein, die in JavaScript-Engines variieren kann. In Firefox (SpiderMonkey) beträgt die maximale Stringgröße 230 - 2 (~2GiB).

Beispiele

Ungültige Fälle

js
"abc".repeat(Infinity); // RangeError
"a".repeat(2 ** 30); // RangeError

Gültige Fälle

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

Siehe auch