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
规则详情
此规则的错误代码示例
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 中移除。