首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

no-confusing-arrow

在命令行上的--fix选项可以自动修复一些被这条规则反映的问题。

箭头函数(=>)是在语法一些比较运算符(类似><<=,和>=)。此规则警告不要在可能与比较运算符混淆的地方使用箭头函数语法。即使箭头函数的参数用 parens 包裹,此规则仍会警告它,除非allowParens设置为true

以下是=>的使用示例可能会令人困惑:

代码语言:javascript
复制
// The intent is not clear
var x = a => 1 ? 2 : 3;
// Did the author mean this
var x = function (a) { return 1 ? 2 : 3 };
// Or this
var x = a <= 1 ? 2 : 3;

规则细节

此规则的错误代码示例:

代码语言:javascript
复制
/*eslint no-confusing-arrow: "error"*/
/*eslint-env es6*/

var x = a => 1 ? 2 : 3;
var x = (a) => 1 ? 2 : 3;
var x = (a) => (1 ? 2 : 3);

此规则的正确代码示例:

代码语言:javascript
复制
/*eslint no-confusing-arrow: "error"*/
/*eslint-env es6*/

var x = a => { return 1 ? 2 : 3; };
var x = (a) => { return 1 ? 2 : 3; };

选项

此规则接受具有以下默认值的单个选项参数:

代码语言:javascript
复制
{
    "rules": {
        "no-confusing-arrow": ["error", {"allowParens": false}]
    }
}

allowParens是可以是truefalse的一个布尔设置:

1. true 放松规则并接受括号作为有效的“混淆预防”语法。

2. false 即使表达式包含在括号中也会警告

此规则的正确代码示例包含以下{"allowParens": true}选项:

代码语言:javascript
复制
/*eslint no-confusing-arrow: ["error", {"allowParens": true}]*/
/*eslint-env es6*/
var x = a => (1 ? 2 : 3);
var x = (a) => (1 ? 2 : 3);

相关规则

  • 无定条件
  • 箭头 - 双亲

版本

此规则是在 ESLint 2.0.0-alpha-2中引入的。

资源

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com