版本

no-arrow-condition

禁止在預期為測試條件的地方使用箭頭函式。

箭頭函式 (=>) 在語法上與某些比較運算子 (><<=>=) 相似。此規則警告不要在預期為條件的地方使用箭頭函式語法。即使箭頭函式的參數用括號包住,此規則仍然會發出警告。

以下範例顯示 => 的使用很可能是一個錯字

// This is probably a typo
if (a => 1) {}
// And should instead be
if (a >= 1) {}

在某些情況下,=> 的使用方式可能含糊不清,應該重寫以更清楚地表達作者的意圖

// The intent is not clear
var x = a => 1 ? 2 : 3
// Did the author mean this
var x = function (a) { return a >= 1 ? 2 : 3 }
// Or this
var x = a <= 1 ? 2 : 3

規則詳情

此規則的錯誤程式碼範例

/*eslint no-arrow-condition: "error"*/

if (a => 1) {}
while (a => 1) {}
for (var a = 1; a => 10; a++) {}
a => 1 ? 2 : 3
(a => 1) ? 2 : 3
var x = a => 1 ? 2 : 3
var x = (a) => 1 ? 2 : 3

版本

此規則在 ESLint v1.8.0 中引入,並在 v2.0.0-beta.3 中移除。

變更語言