RangeError: repeat count must be less than infinity
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)
Type d'erreur
Quel est le problème ?
La méthode String.prototype.repeat()
, qui permet de répéter une chaîne de caractères, a été utilisée avec un argument qui n'est pas compris entre 0 et Infinity
(exclue) (ce qui correspond à l'intervalle [0, +∞))
La chaîne de caractères crée par cette méthode ne doit pas dépasser la taille maximale d'une chaîne. Cette taille varie selon le moteur JavaScript. Pour Firefox (SpiderMonkey), la taille maximale d'une chaîne de caractères vaut 2^28-1 (0xFFFFFFF
).
Exemples
Exemples invalides
js
"abc".repeat(Infinity); // RangeError
"a".repeat(2 ** 28); // RangeError
Exemples valides
js
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)