web-dev-qa-db-fra.com

jslint --edition = dernière fonctionnalité ES6 inattendue. const

J'essaie d'utiliser node-jslint https://github.com/reid/node-jslint afin de garder mon code propre

J'ai un const dans mon script nodejs, mais jslint dit que ce n'est pas du code ES6 valide

 Unexpected ES6 feature.
const pdPersonsFilterId = process.argv[2]; // Line 10, Pos 0

Voici la commande que j'utilise dans la console

jslint --edition=latest index.js

Selon le https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const il est possible d'utiliser des constantes globales.

Pourquoi jslint ne considère-t-il pas ce code comme valide?

17
Nikage

JSLint est assez satisfait d'ES6; il vous suffit de lui faire savoir que vous utilisez ES6. Ajouter le es6 directive à votre config JSLint ou au sommet de votre fichier, et profit.

/*jslint es6 */
const pdPersonsFilterId = process.argv[2];

Maintenant l'avertissement que vous avez vu disparaît.

De aide de JSLint :

La sixième édition d'ECMAScript [ES6] peut prendre du temps pour atteindre l'ubiquité. L'utilisation des nouvelles fonctionnalités dans des environnements qui n'implémentent pas entièrement la nouvelle norme entraînera un échec. C'est pourquoi JSLint donne des avertissements lorsque des fonctionnalités ES6 sont utilisées. Certaines fonctionnalités d'ES6 sont bonnes, donc JSLint reconnaîtra les bonnes parties d'ES6 avec l'option es6. Au fur et à mesure que les implémentations de la nouvelle norme deviennent plus stables et meilleures compris, l'ensemble des fonctionnalités reconnues par JSLint peut augmenter. Une fois la transition vers ES6 terminée, l'option es6 sera supprimée. [emph mine]

Semble assez juste. Donc, ce que vous avez vu était simplement de vous avertir que ce que vous avez pourrait ne pas fonctionner lorsque ES6 n'est pas pris en charge, car il y a beaucoup d'endroits en ce moment. Une fois que ES6 est plus répandu - ou si vous faites explicitement savoir à Crockford que vous avez l'intention d'utiliser ES6 - l'avertissement disparaîtra/disparaîtra. (Le point de TJ pourrait être que, au moins avec Node, il est maintenant temps de supprimer l'avertissement.; ^ D)

16
ruffin

Essayez ESLint .

Il a de meilleures statistiques sur NPM , la documentation est brillante et largement utilisée.

12
czerasz