Why does JSHint throw a warning if I am using const?
When 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