运行 eslint 箭头函数时报告意外标记“=”

Unexpected token "=" reported while running eslint on arrow functions

我有一个 JavaScript class,里面有一个异步方法,如下所示。

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. Support for class fields syntax in ESLint has been introduced 版本 8。

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