javascript - 其余语法在 Chrome 49 中不起作用

标签 javascript google-chrome

由于某些依赖性原因,我正在使用 Windows XP 和 Chrome 49.0.2623.75(64 位)。我正在使用 ECMAScript 中的剩余运算符,但它给出错误“未捕获的语法错误:意外的 token ...”此代码可在最新的 Chrome 版本中运行。有没有办法或依赖项可以在 Chrome 49 上运行以下代码。我的代码写在下面。

this.dict = this.header.reduce((obj, k, i) => ({...obj, [k]: this.class[i] }), {})

最佳答案

无法在不受支持的浏览器中使用 native ES6“扩展”运算符 (...)。不存在 1:1 的 polyfill(就像 Array.prototype 方法一样)。

您的选择包括:

  1. 使用类似 webpack 的打包工具与 babel 结合解析 ES6 并输出与您的浏览器客户端兼容的 ES5。

  2. 手动将“spread”运算符替换为“apply”的用法。请参阅this article举个例子。另外,the MDN page on the rest operator有一个示例说明如何将“apply”的使用替换为“spread”运算符,您可以手动反转这些示例。

其他背景:

“rest/spread”运算符是 ES6/ES2015 中添加的“syntactic sugar ”工具( as discussed in this article ,该版本的 JavaScript 通过两个名称来引用)。它的命名有点令人困惑,因为有时它被称为“rest parameter ”或“spread syntax ”。 “扩展语法”和“扩展运算符”可能是引用该运算符最容易识别的方式,因为它包括所有用例,而“其余参数”通常仅指使用 ...< 的用例 在传递给函数的参数中。

关于javascript - 其余语法在 Chrome 49 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57279900/

相关文章:

html - :target selector on dynamic generated element not affect

javascript - jQuery Carousel 插件显示不需要的边框

javascript - 什么是 Service Worker 控制台? & 它在 Chrome 浏览器中的什么位置?

javascript - Chrome 扩展 : Get Page Variables in Content Script

javascript - 尝试映射 Enum 键以生成 JSX 元素时出现 Typescript 错误

javascript - react-native-image-slider(无法显示本 map 片)

javascript - 在非事件窗口后 catch CSS 动画

javascript - for each 循环在除 firefox 以外的主要浏览器中不起作用

javascript - Flask 应用程序未反射(reflect)新的 JS 更改

javascript - 如何在 jimp 中将图像从 png 转换为 jpg?