javascript エラー「RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity」の解決方法

javascript エラー「RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity」の解決方法

javascriptで、エラー「RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity」が発生した場合の原因と解決方法を記述してます。「repeat」使用時に「マイナス」の値を指定しまった場合に発生します。

環境

  • OS macOS Monterey
  • ブラウザ safari 15.5

エラー内容

以下のコードで発生。

let str = 'hoge';

str.repeat(-1)

エラーメッセージ

RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity

画像

原因

repeat関数の引数には、「マイナス」は指定できないため

解決方法

「マイナス」は指定しない

let str = 'hoge';

str.repeat(1)

少数は指定することができます。

let str = 'hoge';

console.log( str.repeat(2.1) )
console.log( str.repeat(2.9) )

実行結果