Andre Schlesinger Andre Schlesinger - 3 months ago 26
Javascript Question

Why does JSHint throw a warning if I am using const?

This is the error I get when using 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" />


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.

Answer

When relying upon ECMAScript 6 features such as constants you should always set this option so JSHint doesn't raise unnecessary warnings.

/*jshint esnext: true */

/*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/#esnext

Edit 2015.12.29: updated to reflect @Olga's comments