no-arrow-condition

在需要测试条件的地方禁止使用箭头函数。

(已删除)此规则在 ESLint v2.0 中已删除,并由 no-confusing-arrowno-constant-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

规则详情

r6hi7htUov+vPER817DMpSRTvHu5NMFNJX5PKtsQSh4quBRUaItxaVoNlZcysCNG

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

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