这是我在使用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是警告我每次。


当前回答

如果您使用的是Grunt配置,您需要执行以下步骤

Jshint警告信息:

解决方案:

设置jshint选项并映射. jshintc .js文件

在该文件中创建.jshintrc.js文件,并添加以下代码

{  
  "esversion": 6  
} 

配置后,再次运行它将跳过警告,

其他回答

创建一个名为jshint_opts的文件,内容如下: { “esversion”:6 }

然后用如下命令行调用jshint:

——配置jshint_opts lib/*.js

在使用export语句时,我得到了同样的警告。我正在使用VS Code,并使用了类似于Wenlong Jiang的解决方案的方法。

用户设置 JSHint配置 “jshint。config":{}(编辑) 在指定“esversion”时使用双引号 或者将这个片段复制到用户设置中: “jshint。选择":{ “esversion”:6, }

如果您想为编辑器配置全局jshint设置,则不需要创建.jshintrc文件

我也遇到了同样的问题,我发现通过添加:

/* jshint esversion: 8 */

(或者你需要的任何jshint esversion,比如6)

我的.js文件的顶部满足了警告的原因。

如果你正在使用Webstorm,如果你没有自己的配置文件,那么就启用EcmaScript。下一个在放松选项在

设置|语言和框架| JavaScript |代码质量工具| JSHint

请参阅此问题“我如何解决这些jshint - es6错误”

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

/*jshint esnext: true */(编辑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
}