# no-arrow-condition
在需要测试条件的地方禁止使用箭头函数。
(已删除)此规则在 ESLint v2.0 中已删除,并由 no-confusing-arrow
和 no-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
# 规则详情
此规则的错误代码示例:
/*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