为什么如果我使用const,JSHint会抛出警告?
这是我使用const时得到的错误:
<error line="2" column="1" severity="warning" message="'const' 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每次警告我。
当依赖ECMAScript 6function(如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 :根据这个答案添加另一个选项。
虽然内联configuration适用于单个文件,但您也可以通过在项目的根目录中创build一个.jshintrc
文件并将其添加到整个项目来启用此设置。
{ "esversion": 6 }
您可以在您的应用程序根目录中添加一个名为.jshintrc的文件,并将以下内容应用于整个解决scheme :
{ "esversion": 6 }
杰克的答案build议您可以为每个文件添加一个注释/*jshint esversion: 6 */
,但是如果您需要控制许多文件,则它的工作量会大于所需。
我花了很多年试图解决这个问题。 每个解决scheme都会谈到“设置选项”。 我不知道这是什么意思。 最后,我明白了。 你可以在文件/*jshint esversion: 6 */
的顶部加一个注释掉的行。
您可以在jshint选项对象中指定esversion:6 。 请看图片。 我正在使用grunt-contrib-jshint插件。
使用导出语句时,我得到了同样的警告。 我正在使用VSC,并采用类似的方法来处理文龙强的解决scheme。
- 用户设置
- JSHintconfiguration
- “jshint.options”:{}(Edit)
-
指定“esversion”时使用双引号
“jshint.options”:{“esversion”:6,}
如果要为编辑器configuration全局jshint设置,则不需要创build.jshintrc文件