版本

for-direction

强制执行 "for" 循环更新子句将计数器移动到正确方向

推荐

配置文件 中使用来自 @eslint/jsrecommended 配置启用此规则

一个 for 循环,其停止条件永远无法达到,例如计数器朝错误方向移动的循环,将无限运行。虽然有时会故意使用无限循环,但约定是将此类循环构造为 while 循环。更常见的是,无限 for 循环是一个错误。

规则详细信息

此规则禁止 for 循环,其中计数器变量以无法满足停止条件的方式更改。例如,如果计数器变量正在增加(即 i++)并且停止条件测试计数器是否大于零(i >= 0),则循环将永远不会退出。

此规则的不正确代码示例

在游乐场中打开
/*eslint for-direction: "error"*/
for (var i = 0; i < 10; i--) {
}

for (var i = 10; i >= 0; i++) {
}

for (var i = 0; i > 10; i++) {
}

for (var i = 0; 10 > i; i--) {
}

const n = -2;
for (let i = 0; i < 10; i += n) {
}

此规则的正确代码示例

在游乐场中打开
/*eslint for-direction: "error"*/
for (var i = 0; i < 10; i++) {
}

for (var i = 0; 10 > i; i++) { // with counter "i" on the right
}

for (let i = 10; i >= 0; i += this.step) { // direction unknown
}

for (let i = MIN; i <= MAX; i -= 0) { // not increasing or decreasing
}

版本

此规则是在 ESLint v4.0.0-beta.0 中引入的。

资源

更改语言