for-direction
强制 for
循环更新子句以正确的方向移动计数器
✅ 推荐
在配置文件中使用来自 @eslint/js
的 recommended
配置启用此规则
具有永远无法达到的停止条件的 for
循环(例如计数器朝错误方向移动的循环)将无限运行。虽然有时无限循环是故意的,但约定是将此类循环构造为 while
循环。更典型的情况是,无限 for
循环是一个错误。
规则详情
此规则禁止 for
循环,其中计数器变量的变化方式使得永远无法满足停止条件。例如,如果计数器变量正在增加(即 i++
)并且停止条件测试计数器是否大于零(i >= 0
),则循环将永远不会退出。
此规则的错误代码示例
在 Playground 中打开
/*eslint for-direction: "error"*/
const n = -2;
此规则的正确代码示例
在 Playground 中打开
/*eslint for-direction: "error"*/
for (let i = 0; i < 10; i++) {
}
for (let 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 中引入。