Почему JSHint выдает предупреждение, если я использую const?

Это ошибка, которую я получаю при использовании 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 предупреждает меня каждый раз.

+278
источник поделиться
12 ответов

Опираясь на функции 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 в .jshintrc каталоге вашего проекта и добавив его туда.

{
  "esversion": 6
}
+478
источник

Вы можете добавить файл с именем .jshintrc в корень приложения со следующим содержимым, чтобы применить этот параметр для всего решения:

{
    "esversion": 6
}

Ответ Джеймса предполагает, что вы можете добавить комментарий /*jshint esversion: 6 */ для каждого файла, но это больше работы, чем необходимо, если вам нужно контролировать много файлов.

+256
источник

Я получил это же предупреждение при использовании оператора экспорта. Я использую VS Code и использовал аналогичный подход к решению Wenlong Jiang.

  1. Пользовательские настройки
  2. Конфигурация JSHint
  3. "jshint.options": {} (Изменить)
  4. Используйте двойные кавычки при указании "esversion"

    Или скопируйте этот фрагмент в настройки пользователя:

    "jshint.options": {
      "esversion": 6,
    }
    

Создание файла .jshintrc не требуется, если вы хотите настроить глобальные параметры jshint для вашего редактора.

+47
источник

Если вы используете VSCode:

1.

  • Перейдите в настройкинастройки (cmd + ,)
  • Введите jshint.options в строку поиска
  • Наведите курсор на него и нажмите на значок карандаша
  • Теперь он добавлен на правой стороне.
  • Добавьте "esversion": 6 к объекту параметров.

2.

Или просто добавьте это в свои настройки пользователя:

"jshint.options": {
    "esversion": 6
}

[ОБНОВЛЕНИЕ] новые настройки vscode

  • Перейдите в настройкинастройки (cmd + ,)
  • введите jshint в поиске

VSCode Settings

  • продолжить с шага 2.
+37
источник

Я потратил годы, пытаясь это исправить. В каждом решении говорится о параметрах настройки. Я не знаю, что это значит. Наконец, я понял это. Вы можете просто включить прокомментированную строку в верхней части файла /*jshint esversion: 6 */.

Решение

+30
источник

Вы можете указать esversion: 6 внутри объекта опций jshint. См. Изображение. Я использую плагин grunt-contrib-jshint.

введите описание изображения здесь

+17
источник

Когда вы начинаете использовать ECMAScript 6, эта ошибка выдается вашей IDE.

Доступны два варианта:

если у вас есть только один файл и вы хотите использовать es6, просто добавьте строку внизу вверху файла.

/*jshint esversion: 6 */

Или, если у вас есть номер файла js или вы используете какой-либо фреймворк (например, nodejs express), вы можете создать новый файл с именем .jshintrc в своем корневом каталоге и добавить код ниже в файл:

{
    "esversion": 6
}

Если вы хотите использовать версию es6 для каждого проекта, вы можете настроить свою IDE.

+3
источник

Если вы используете Webstorm и у вас нет собственного конфигурационного файла, просто включите EcmaScript.next в параметрах Relaxing в

Настройки | Языки и рамки | JavaScript | Инструменты качества кода | JSHint

Посмотреть этот вопрос How-do-I-resol-these-JSHint-ES6-errors

+1
источник

Если вы используете конфигурацию Grunt, вам необходимо выполнить следующие шаги

Предупреждающее сообщение в Jshint:

enter image description here

Решение:

  1. Установите параметры jshint и отобразите файл .jshintrc.js.

enter image description here

  1. Создайте файл .jshintrc.js в этом файле и добавьте следующий код
{  
  "esversion": 6  
} 

После того, как настроили это, Запустите снова. Оно пропустит предупреждение,

enter image description here

+1
источник

Создайте файл, называемый jshint_opts, с этим контентом: { "esversion": 6 }

Затем вызовите jshint с чем-то вроде этой командной строки:

jshint --config jshint_opts lib/*. js

0
источник

В вашем package.json вы можете указать Jshint использовать es6 следующим образом:

"jshintConfig":{
    "esversion": 6 
}
0
источник

При использовании Sublime Text 3:

  • Зайдите в НастройкиНастройки
  • В Preferences.sublime-settings - пользователь добавляет "esversion": 6
-1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос