跳至內容

eslint/no-constant-condition 正確性

此規則預設為開啟。

作用

不允許在條件中使用常數表達式

為什麼這樣不好?

常數表達式(例如,字面值)作為測試條件可能是輸入錯誤或用於特定行為的開發觸發器。

此規則不允許在下列語句的測試條件中使用常數表達式:

  • ifforwhiledo...while 語句
  • ?:三元表達式

範例

此規則的 不正確 程式碼範例

js
if (false) {
  doSomethingUnfinished();
}

if (new Boolean(x)) {
  doSomethingAlways();
}
if ((x ||= true)) {
  doSomethingAlways();
}

do {
  doSomethingForever();
} while ((x = -1));

此規則的 正確 程式碼範例

js
if (x === 0) {
  doSomething();
}

while (typeof x === "undefined") {
  doSomething();
}

參考資料

以 MIT 許可發布。