在箭头函数上运行eslint时报告了意外的标记"="

我有一个JavaScript类,在它里面有一个如下所示的异步方法。

class ABC {
    func = async () => { //----line 10
        //some code
    }
    func2 = () => { //----line 11
        //some code 
    }
}

当我运行ESLint时,它报告一个错误。应用程序本身工作正常。

unexpected token '=' at line 10 (& 11)

eslintrc.json

{
   "env":{
       "es2021":true
    }
}

我需要做什么才能消除这些LINT错误并仍将这些方法保留为箭头函数?

ESLint版本:eslint :"^7.32.0"


解决方案

升级到ESLint 8并将此设置添加到您的.eslintrc:

"parserOptions": {
  "ecmaVersion": 2022
}

原因:您正在使用class fields。支持版本8的ESLinthas been introduced中的类字段语法。

请注意,虽然already finalized是在2021年4月发布的,但类字段的规范将与ECMAScript 2022一起发布,预计将于明年发布。

相关文章