ES6 '...' 符号在 jslint 中给出错误?
Posted
技术标签:
【中文标题】ES6 \'...\' 符号在 jslint 中给出错误?【英文标题】:ES6 '...' notation gives error in jslint?ES6 '...' 符号在 jslint 中给出错误? 【发布时间】:2016-11-28 14:22:45 【问题描述】:每当我在使用“...”表示法时针对 jslint 运行代码时,我都会收到 Unexpected token
错误。我正在为 Grommet UI 使用 grommet-toolbox(以及用于 React 的 UI/UX 框架),因此当我运行 gulp dev
命令时出现此错误,因此无法编写如下代码:
return ...state, fetching: true
(上面的代码在这个文件的第10行:https://github.com/learncodeacademy/react-js-tutorials/blob/master/5-redux-react/src/js/reducers/tweetsReducer.js)
如何解决这个问题?
【问题讨论】:
不是 ES6/2015 也不是 ES2016,但不是标准化的语法。您必须使用babel-eslint
才能正常工作。
【参考方案1】:
Object spread operator
不是 ECMASCRIPT 标准,而 Array spread operator
是。所以,这可能是你的 lint-issue 的原因。
您可以在这里找到更多信息:https://github.com/sebmarkbage/ecmascript-rest-spread
请注意,我建议您看一下eslint
,因为它是用于 esnext 的常用 linter(它是可插入的,并且可能有避免此问题的解决方案)。
【讨论】:
【参考方案2】:请尝试使用Object.assign
,而不是使用扩展运算符,它们应该可以完成同样的事情。只是没有 jshint 输出警告/错误。
【讨论】:
【参考方案3】:如果您使用 JSHint,您可以在项目根目录的 .jshintrc 中使用它。
"esnext": true,
"esversion": 6
【讨论】:
这似乎不起作用:Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned)
我在 vsc 中遇到此错误,并按照您的建议更新我的 .jshintrc 以解决问题。
-1。 显然是关于 jslint 的问题。解释如何做 OP 要求 使用不同的工具 是无益且无关紧要的。以上是关于ES6 '...' 符号在 jslint 中给出错误?的主要内容,如果未能解决你的问题,请参考以下文章