2020年编辑: As ctrl-alt-delar 在评论中提到 https://stackoverflow.com/questions/36104136/jslint-edition-latest-unexpected-es6-feature-const/36265255#comment99599721_36265255,正如答案中所预测的那样,JSLint 已经放弃了es6
要求——看起来像2017 年 10 月 9 日 https://github.com/douglascrockford/JSLint/commit/3fa7fcc0d96dfcd1b5d0bab2a3198b29c6811081#diff-01d3d81a6eb6d82af3c377b55dc4fa28.
那是,es6
is 不再有效的 JSLint 选项。今天OP的代码将如下所示:
/*jslint browser */
/*global process */
const pdPersonsFilterId = process.argv[2];
但是,如果您认为自己处于 OP 的情况,确保您用来检查文件的任何进程都没有使用旧版本的 JSLint。有些工具附带过时的版本,或者您的构建脚本可能维护旧版本,以免破坏旧代码。如果您遇到这种情况,下面的修复应该有效。
但是,如果您知道您的 JSLint 版本高于 2017 年 10 月 9 日,并且您遇到了 es6 错误,请打开一个新的 StackOverflow 问题!
对于原始问题/旧版本的 JSLint...
JSLint 对 ES6 很满意;你只需要让它知道你正在使用 ES6 即可。添加es6
指令到您的 JSLint 配置或文件顶部,然后获利。
/*jslint es6 */
const pdPersonsFilterId = process.argv[2];
现在您看到的警告消失了。
From JSLint 的帮助 http://jslint.com/help.html:
ECMAScript [ES6] 第六版可能需要一段时间才能达到
无处不在。在不完全支持的环境中使用新功能
实施新标准将导致失败。这就是 JSLint 给出的原因
使用 ES6 功能时的警告。ES6的一些特性很好,
因此 JSLint 将通过 es6 选项识别 ES6 的优点。作为
新标准执行更加稳定更好
据了解,JSLint 识别的功能集可能会增加。过渡到 ES6 完成后,es6 选项将是
掉了。[emph我的]
看起来很公平。所以你所看到的只是警告你,你所拥有的可能无法在不支持 ES6 的地方工作,因为现在有很多地方都支持 ES6。一旦 ES6 更加普及——或者如果您明确让 Crockford 知道您打算使用 ES6-- 警告将会消失/消失。 (TJ 的观点可能是,至少对于 Node,现在是删除警告的时候了。;^D)