admin管理员组文章数量:1126310
This is the error I get when using 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" />
My code looks like this:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
The code works fine only JSHint is warning me every time.
This is the error I get when using 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" />
My code looks like this:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
The code works fine only JSHint is warning me every time.
Share Improve this question edited Sep 10, 2016 at 20:25 Zanon 30.6k21 gold badges117 silver badges126 bronze badges asked Dec 12, 2014 at 10:39 Andre SchlesingerAndre Schlesinger 3,9752 gold badges14 silver badges6 bronze badges 3 |19 Answers
Reset to default 674When relying upon ECMAScript 6 features such as const
, you should set this option so JSHint doesn't raise unnecessary warnings.
/*jshint esnext: true */ (Edit 2015.12.29: updated syntax to reflect @Olga's comments)
/*jshint esversion: 6 */
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
This option, as the name suggests, tells JSHint that your code uses ECMAScript 6 specific syntax. http://jshint.com/docs/options/#esversion
Edit 2017.06.11: added another option based on this answer.
While inline configuration works well for an individual file, you can also enable this setting for the entire project by creating a .jshintrc
file in your project's root and adding it there.
{
"esversion": 6
}
You can add a file named .jshintrc in your app's root with the following content to apply this setting for the whole solution:
{
"esversion": 6
}
James' answer suggests that you can add a comment /*jshint esversion: 6 */
for each file, but it is more work than necessary if you need to control many files.
I got this same warning when using an export statement. I'm using VS Code and used a similar approach to Wenlong Jiang's solution.
User Settings
JSHint config
"jshint.config": {}
(Edit)Use double quotes when specifying
"esversion"
Or copy this snippet into User Settings:
"jshint.options": { "esversion": 6, }
Creating a .jshintrc
file isn't necessary if you want to configure the global jshint settings for your editor
If you're using VSCode:
1.
- Go to preferences -> settings (
cmd + ,
) - Type
jshint.options
into the search bar - Hover over it and click on the pencil icon
- Its now appended on the right side.
- Add
"esversion": 6
to the options object.
2.
Or simply add this to your user settings:
"jshint.options": {
"esversion": 6
}
[UPDATE] new vscode settings
- Go to preferences -> settings (
cmd + ,
) - type
jshint
into search
- continue with step
2.
I spent ages trying to fix this. Every solution talks about 'setting options'. I don't know what that means. Finally, I figured it out. You can just include a commented out line at the top of the file /*jshint esversion: 6 */
.
You can specify esversion:6 inside jshint options object. Please see the image. I am using grunt-contrib-jshint plugin.
Create .jshintrc
file in the root dir and add there the latest js version: "esversion": 9
and asi version: "asi": true
(it will help you to avoid using semicolons)
{
"esversion": 9,
"asi": true
}
In your package.json you can tell Jshint to use es6 like this
"jshintConfig":{
"esversion": 6
}
When you start using ECMAScript 6 this error thrown by your IDE.
There are two options available:
if you have only one file and want to use the es6 then simply add below line at the top of the file.
/*jshint esversion: 6 */
Or if you have number of js file or you are using any framework(like nodejs express)you can create a new file named .jshintrc
in your root directory and add code below in the file:
{
"esversion": 6
}
If you want to use the es6 version onward for each project you can configure your IDE.
Creating a .jshintrc
file is not necessary.
If you are using ECMAScript 6 then all you need to do is tell JSHint that:
- Go to File > Settings
- Navigate to Languages & Frameworks > JavaScript > Code Quality Tools > JSHint.
- Scroll down to find Warn about incompatibilities with the specified ECMAScript version.
- Click on Set.
- Enter 6 and then press [Set].
- Click [OK]
For SublimeText 3 on Mac:
- Create a .jshintrc file in your root directory (or wherever you prefer) and specify the esversion:
# .jshintrc
{
"esversion": 6
}
- Reference the pwd of the file you just created in SublimeLinter user settings (Sublime Text > Preference > Package Settings > SublimeLinter > Settings)
// SublimeLinter Settings - User
{
"linters": {
"jshint": {
"args": ["--config", "/Users/[your_username]/.jshintrc"]
}
}
}
- Quit and relaunch SublimeText
If you are using Webstorm and if you don't have your own config file, then just enable EcmaScript.next
in Relaxing options in in
Settings | Languages & Frameworks | JavaScript | Code Quality Tools | JSHint
See this question How-do-I-resolve-these-JSHint-ES6-errors
If you are using Grunt configuration, You need to do the following steps
Warning message in Jshint:
Solution:
- Set the jshint options and map the .jshintrc.js file
- Create the .jshintrc.js file in that file add the following code
{ "esversion": 6 }
After configured this, Run again It will skip the warning,
Create a file called, say jshint_opts with this content: { "esversion": 6 }
Then invoke jshint with something like this command line:
jshint --config jshint_opts lib/*.js
May 2020 Here's a simple solution i found and it will resolve for all of my projects ,on windows if your project is somewhere inside c: directory , create new file .jshintrc and save it in C directory open this .jshintrc file and write { "esversion": 6}
and that's it. the warnings should go away , same will work in d directory
yes you can also enable this setting for the specific project only by same creating a .jshintrc file in your project's root and adding { "esversion": 6}
To fix this in Dreamweaver CC 2018, I went to preferences, edit rule set - select JS, edit/apply changes, find "esnext" and changed the false setting to true. It worked for me after hours of research. Hope it helps others.
I had the same issue, and I found that by adding:
/* jshint esversion: 8 */
(or whatever jshint esversion you need, like 6)
To the top of my .js file satisfies the cause for the warnings.
If using Sublime Text 3:
- Go to Preferences -> Settings
- Under Preferences.sublime-settings—User add "esversion": 6
In a new version of Dreamweaver to solve this error
- Go to Edit->Preference->Linting
And the go-to js Edit rule set and past
"jshintConfig":{ "esversion": 6 }
本文标签: javascriptWhy does JSHint throw a warning if I am using constStack Overflow
版权声明:本文标题:javascript - Why does JSHint throw a warning if I am using const? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1736684095a1947572.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
"use esnext option"
. And why? Isn't that error message pretty clear?const
is not standard JS (yet). – Teemu Commented Dec 12, 2014 at 10:45