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

RangeError

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 228 -1 (0xFFFFFFF).

Exemples

Exemples invalides

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

Exemples valides

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

Voir aussi