版本

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 中移除。

更改语言