jslint --edition =最新的意外ES6功能。常量

时间:2016-03-19 16:23:39

标签: javascript node.js const ecmascript-6 jslint

我正在尝试使用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不认为此代码有效?

2 个答案:

答案 0 :(得分:14)

JSLint对ES6很满意;你必须让它知道你正在使用ES6。将es6指令添加到您的JSLint配置或文件顶部,并获利。

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

现在你看到的警告就消失了。

来自JSLint's help

  

第六版ECMAScript [ES6]可能需要一段时间才能达到   无处不在。使用环境中不完全的新功能   实施新标准将导致失败。这就是JSLint给出的原因   使用ES6功能时的警告。 ES6的一些功能很好,   因此,JSLint将使用es6选项识别ES6的优点。 As   新标准的实施变得更加稳定和更好   据了解,JSLint认可的功能集可能会增加。   转换到ES6完成后,es6选项将成为   放弃了。 [emph mine]

似乎很公平。所以你所看到的只是警告你,你所拥有的东西在ES6不受支持的情况下可能无效,因为现在很多地方都是如此。一旦ES6更广泛 - 或者如果你明确让Crockford知道你打算使用ES6 - 警告就会消失。 (TJ的观点可能是,至少在Node上,现在是删除警告的时候了。; ^ D)

答案 1 :(得分:12)

试用ESLint

它在NPM上有更好的统计数据,文档非常精彩并且被广泛使用。