javascript - vscode - jshintrc
jslint--edition=Ășltima caracterĂstica ES6 inesperada. const (2)
Intento usar node-jslint https://github.com/reid/node-jslint para mantener mi código limpio
Tengo un const en mi script nodejs, pero jslint dice que no es un código ES6 válido
Unexpected ES6 feature.
const pdPersonsFilterId = process.argv[2]; // Line 10, Pos 0
Aquí está el comando que uso en la consola
jslint --edition=latest index.js
De acuerdo con https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const, es posible usar constantes globales.
¿Por qué jslint no considera que este código sea válido?
JSLint está feliz con ES6; solo tiene que hacerle saber que está usando ES6. Agregue la directiva es6
a su configuración JSLint o sobre su archivo, y obtenga ganancias.
/*jslint es6 */
const pdPersonsFilterId = process.argv[2];
Ahora la advertencia que viste se va.
De la ayuda de JSLint :
Puede tomar tiempo para que la sexta edición de ECMAScript [ES6] alcance la ubicuidad. El uso de las nuevas funciones en entornos que no implementan completamente el nuevo estándar dará como resultado un error. Esta es la razón por la cual JSLint da advertencias cuando se usan las características de ES6. Algunas de las características de ES6 son buenas, por lo que JSLint reconocerá las partes buenas de ES6 con la opción es6. A medida que las implementaciones del nuevo estándar se vuelven más estables y se comprenden mejor, el conjunto de características reconocidas por JSLint puede aumentar. Una vez completada la transición a ES6, la opción es6 se eliminará. [emph mine]
Parece bastante justo. Entonces, lo que viste fue solo advertirte que lo que tienes podría no funcionar donde ES6 no sea compatible, ya que hay muchos lugares en este momento. Una vez que ES6 esté más extendido, o si le informa explícitamente a Crockford que tiene la intención de utilizar ES6 , la advertencia desaparecerá. (El punto de TJ podría ser que, al menos con Node, ahora es el momento de eliminar la advertencia.; ^ D)