javascript - 在箭头函数上运行 eslint 时报告意外 token "="

标签 javascript eslint class-fields ecmascript-2021

我有一个 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 .支持 ESLint 中的类字段语法 has been introduced版本 8。

请注意类字段的规范,尽管 already finalized 2021 年 4 月,将与 ECMAScript 2022 一起发布,预计明年发布。

关于javascript - 在箭头函数上运行 eslint 时报告意外 token "=",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70187951/

相关文章:

Javascript:将文本添加到文本区域

eslint - 'multiple' 语法之前的预期 'single' 语法

javascript - react native 和 Webpack : Confusing when ESLint detects errors

javascript - Eslint:在条件表达式中不必要地使用 bool 文字

javascript - ES6 类中的箭头与经典方法

javascript - 如何使用 html5 历史 API 阻止 <a> 标签加载新页面

javascript - Ember Data- 在 hasMany 关系中创建记录

javascript - 通过引用特定属性名称从 Javascript JSON 对象获取值

javascript - Javascript 中的类字段和属性有什么区别

javascript - ES6中React类定义方法的两种方式有什么区别