版本

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 中引入。

資源

變更語言