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
"abc".repeat(Infinity); // RangeError
"a".repeat(2 ** 30); // RangeError
Gültige Fälle
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)