Pourquoi JSHint lance-t-il un avertissement si j'utilise const?

c'est l'erreur que j'obtiens en utilisant 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" />

mon code ressemble à ceci:

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

le code fonctionne très bien, mais JSHint me prévient à chaque fois.

193
demandé sur Zanon 2014-12-12 13:39:01

10 réponses

lorsque vous vous en remettez aux fonctionnalités D'ECMAScript 6 telles que const , vous devez configurer cette option pour que JSHint n'élève pas d'Avertissements inutiles.

/ *jshint esnext : true */ ( Edit 2015.12.29 : mise à jour de la syntaxe pour refléter les commentaires de @Olga )

/*jshint esversion: 6 */

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

cette option, comme son nom l'indique, indique à JSHint que votre code utilise une syntaxe spécifique à ECMAScript 6. http://jshint.com/docs/options/#esversion

Edit 2017.06.11 : ajout d'une autre option basée sur cette réponse .

alors que la configuration en ligne fonctionne bien pour un fichier individuel, vous pouvez également activer ce paramètre pour l'ensemble du projet en créant un fichier .jshintrc dans la racine de votre projet et en l'y ajoutant.

{
  "esversion": 6
}
351
répondu James Hibbard 2017-12-30 20:02:39

Vous pouvez ajouter un fichier nommé .jshintrc dans votre application root avec le contenu suivant pour appliquer ce paramètre pour la solution complète :

{
    "esversion": 6
}

James' answer suggère que vous pouvez ajouter un commentaire /*jshint esversion: 6 */ pour chaque fichier , mais c'est plus de travail que nécessaire si vous avez besoin de contrôler de nombreux fichiers.

224
répondu Zanon 2018-07-30 13:43:22

j'ai passé des années à essayer de réparer ça. Chaque solution parle de "définir des options". Je ne sais pas ce que cela signifie. Enfin, j'ai tout compris. Vous pouvez simplement inclure une ligne commentée en haut du fichier /*jshint esversion: 6 */ .

Solution

28
répondu Josh Pittman 2016-06-10 11:56:28

j'ai eu ce même avertissement en utilisant une déclaration d'exportation. J'utilise le code VS et j'ai utilisé une approche similaire à la solution de Wenlong Jiang.

  1. Paramètres Utilisateur
  2. JSHint config
  3. "jshint.options": {} (Edit)
  4. utiliser doubles guillemets en spécifiant "esversion"

    ou copiez cet extrait dans les paramètres de L'utilisateur:

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

la création d'un fichier .jshintrc n'est pas nécessaire si vous voulez configurer les paramètres globaux de jshint pour votre éditeur

25
répondu Nicholas Gentile 2018-08-24 09:24:20

vous pouvez spécifier esversion:6 dans l'objet options jshint. Veuillez voir l'image. J'utilise grunt-contrib-JSHint plugin.

enter image description here

14
répondu Wenlong Jiang 2017-02-07 19:57:59

si vous utilisez VSCode:

  • passer à préférences - > paramètres ( cmd + , )
  • Tapez jshint.options dans la barre de recherche
  • passez dessus et cliquez sur l'icône du crayon
  • Son désormais annexé sur le côté droit.
  • ajouter "esversion": 6 à l'objet options.

ou ajoutez simplement ceci à vos paramètres d'utilisateur:

"jshint.options": {
    "esversion": 6
}
11
répondu Phil 2018-03-02 16:21:57

quand vous commencez à utiliser ECMAScript 6 cette erreur lancée par votre IDE.

il y a deux options disponibles:

si vous n'avez qu'un fichier et que vous voulez utiliser l'es6, ajoutez simplement la ligne ci-dessous en haut du fichier.

/*jshint esversion: 6 */

ou si vous avez le nombre de fichiers js ou si vous utilisez n'importe quel framework(comme nodejs express)vous pouvez créer un nouveau fichier nommé .jshintrc dans votre répertoire racine et ajouter code ci-dessous dans le fichier:

{
    "esversion": 6
}

si vous voulez utiliser la version es6 pour chaque projet, vous pouvez configurer votre IDE.

1
répondu Prashant Barve 2018-07-07 08:16:52

créez un fichier appelé, disons jshint_opts avec ce contenu: { "esversion": 6 }

puis invoquer jshint avec quelque chose comme cette ligne de commande:

jshint --config jshint_opts lib/*.js

0
répondu Alan Wendt 2017-12-07 21:40:47

si vous utilisez le texte Sublime 3:

  • Aller à Préférences -> Paramètres
  • Sous Préférences.sublime-paramètres-utilisateur ajouter "esversion": 6
0
répondu London804 2018-07-03 20:58:42

si vous utilisez Webstorm et que vous n'avez pas votre propre fichier de configuration, activez EcmaScript.next dans Options de détente dans

Paramètres | Langues & Cadres | JavaScript | Code Outils De La Qualité | JSHint

Voir cette question how-do-I-détermination-ces-JSHint-ES6-erreurs

0
répondu Sudhanshu Gaur 2018-09-29 13:38:14