javascript - Closure 编译器不支持 ES6

标签 javascript google-closure-compiler ecmascript-6

我正在使用 Google Closure 编译器,但出现以下错误:

ES6_FEATURE: this language feature is only supported in es6 mode: computed property. Use --language_in=ECMASCRIPT6 or ECMASCRIPT6_STRICT to enable ES6 features.

触发此错误的行是这一行:

var TheCellRef = LeadImport2ExcelLibrary['utils']['encode_cell']({ ['c']: C, ['r']: R });

基本上,我传递的是我在同一行上创建的对象。我知道我可以简单地在 JavaScript 源头中添加对 ES6 的支持,但我想知道为什么会出现此错误以及如何修复它?

最佳答案

那是因为你用的是Computed Property Names在文字对象中:

{ ['c']: C, ['r']: R }

兼容 es5 的替代品可能是:

var TheCellRef = LeadImport2ExcelLibrary['utils']['encode_cell']({ "c": C, "r": R });

关于javascript - Closure 编译器不支持 ES6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728216/

相关文章:

javascript:如何将生成器用作类方法

javascript - 使用 ExternalInterface.addCallback 注册的函数在 Javascript 中不可用

javascript - 为什么这个 javascript 装饰函数不起作用?

javascript - AJAX 无声地失败

javascript - 排除 IE8 进行闭包编译

javascript - 如何指示闭包编译器不重命名/删除局部变量?

javascript - closure compiler externs 解决了一个问题,但我不明白为什么?

javascript - 如何最好地传递几乎总是相同的可选函数参数

javascript - 从分割字符串中解构混合的 let/const 数组

javascript - 如何 promise 这个递归函数