为什么 JSHint 会在我使用 const 时发出警告?

2022-08-29 23:35:03

这是我在使用const时遇到的错误:

<error line="2" column="1" severity="warning" message="&apos;const&apos; is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />

我的代码如下所示:

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

代码工作正常,只有JSHint每次都警告我。


答案 1

当依赖于 ECMAScript 6 功能(如 )时,您应该设置此选项,以便 JSHint 不会引发不必要的警告。const

/*jshint esnext: true */Edit 2015.12.29: 更新了语法以反映@Olga的评论)

/*jshint esversion: 6 */

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

顾名思义,此选项告诉 JSHint 您的代码使用特定于 ECMAScript 6 的语法。http://jshint.com/docs/options/#esversion

编辑 2017.06.11:根据此答案添加了另一个选项。

虽然内联配置适用于单个文件,但您也可以通过在项目的根目录中创建文件并将其添加到其中来为整个项目启用此设置。.jshintrc

{
  "esversion": 6
}

答案 2

可以在应用的根目录中添加一个名为 .jshintrc 的文件,其中包含以下内容,以将此设置应用于整个解决方案

{
    "esversion": 6
}

James的回答表明,您可以为每个文件添加注释,但是如果您需要控制许多文件,则工作量比必要的要多。/*jshint esversion: 6 */