jslint –edition = latest意外的ES6function。 常量
我试图使用node-jslint https://github.com/reid/node-jslint为了保持我的代码清洁
我在我的nodejs脚本中有一个const,但jslint说这是不是有效的ES6代码
Unexpected ES6 feature. const pdPersonsFilterId = process.argv[2]; // Line 10, Pos 0
这是我在控制台中使用的命令
jslint --edition=latest index.js
根据https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const可以使用全局常量。
为什么jslint不认为这个代码是有效的?
JSLint用ES6足够快乐; 你只需要让它知道你正在使用ES6。 将es6
指令添加到您的JSLintconfiguration或您的文件上,并获利。
/*jslint es6 */ const pdPersonsFilterId = process.argv[2];
现在你看到的警告消失了。
从JSLint的帮助 :
第六版ECMAScript [ES6]可能需要时间才能达到普及。 在未完全实施新标准的环境中使用新function将导致失败。 这就是为什么当使用ES6function时JSLint会给出警告。 ES6的一些function非常好,所以JSLint将通过es6选项来识别ES6的优点。 随着新标准的实施变得更加稳定和更好理解,JSLint认可的一组特征可能会增加。 过渡到ES6完成后,es6选项将被删除。 [emph mine]
看起来很公平。 所以你所看到的仅仅是警告你,在ES6不被支持的地方,你可能无法工作,因为现在有很多地方。 一旦ES6更广泛 – 或者如果你明确地让Crockford知道你打算使用ES6 ,警告就会消失。 (TJ的观点可能是,至less在Node中,现在是删除警告的时候; ^ D)
试用ESLint 。
它具有更好的NPM统计数据,文档精美,应用广泛。