この記事は編集レビューを必要としています。ぜひご協力ください。
メッセージ
RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox) RangeError: Invalid count value (Chrome)
エラータイプ
何がうまくいかなかったのか?
String.prototype.repeat()
メソッドを使用します。count
パラメーターは、文字列の繰り返し回数を指定します。 これは 0 から正の Infinity
以下の値である必要があり、負数は使用できません。有効値の範囲はこのように表現できます: [0, +∞)。
結果の文字列は、文字列サイズの最大値以上にはできません。これは JavaScript エンジンによって異なります。 Firefox(SpiderMonkey) の最大文字列数hは、 228 -1 (0xFFFFFFF)
です。
例
無効なケース
'abc'.repeat(Infinity); // RangeError 'a'.repeat(2**28); // RangeError
有効なケース
'abc'.repeat(0); // '' 'abc'.repeat(1); // 'abc' 'abc'.repeat(2); // 'abcabc' 'abc'.repeat(3.5); // 'abcabcabc' (count は整数に変換されます)