RangeError: repeat count must be non-negative

String.prototype.repeat() 方法的 count 参数为负数时,JavaScript 会抛出“重复计数必须为非负数”的异常。

消息

RangeError: Invalid count value: -1 (V8-based)
RangeError: repeat count must be non-negative (Firefox)
RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity (Safari)

错误类型

RangeError

哪里出错了?

已使用 String.prototype.repeat() 方法。它有一个 count 参数,表示字符串重复的次数。它必须介于 0 和正 Infinity 之间(不包括正无穷),并且不能是负数。允许值的范围可以描述为:[0, +∞)。

示例

无效案例

js
"abc".repeat(-1); // RangeError

有效情况

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

另见