对象不支持属性或方法“jscomp_symbol_iterator0”
Object doesn't support property or method 'jscomp_symbol_iterator0'
我正在使用 babel 6.7 来构建一个单页 React.js Web 应用程序。我尝试包含所有相关的 polyfill,例如 babel-polyfill,以使其与 ES5 浏览器兼容。即使如此,我还是时不时地收到这样的javascript错误
Object doesn't support property or method 'jscomp_symbol_iterator0'
主要来自运行IE10+的Windows 7和8.1用户。
我假设这与不支持js Symbol.itirator有关。有没有办法为旧版浏览器填充它?
谢谢!
在我的情况下,错误:
对象不支持属性或方法"符号.迭代器"
指向与for
循环的 ES6 语法相关的特定行。 即,我有这个:
for(let el of document.getElementsByClassName('especial-els')) { /* ... */ }
我需要做的就是将这个循环更改为"旧式"循环:
let especialEls = document.getElementsByClassName('especial-els');
for(let i = specialEls.length - 1; i >= 0; i--) { /* ... */ }
此错误仅发生在 Edge 浏览器中(不在 Chrome 中,也不发生在 Firefox 中),尤其是仅在此for(let i of iterator)
循环中(我还有其他此类循环遍历数组并且错误没有显示)。我的猜测是document.getElementsByClassName()
返回一个"特殊"迭代器。
您应该添加以下"require"语句:
require('core-js/es6/object');
require('core-js/es6/map');
相关文章:
- 在这种情况下,*[Symbol.iterator]的含义是什么
- 使用Javascript替换函数从字符串中删除€Symbol
- 在不使用jquery($symbol)knockout.js的情况下分离代码javascript
- Symbol数据类型的应用程序
- babel obj symbol.iterator undefined
- js Symbol() usage
- Symbol.toPrimitive vs Object.prototype.valueOf
- javascript正则表达式中$symbol的使用
- Karma+Mocha+React无法将Symbol值转换为字符串
- 如何检测当前环境是否支持Symbol
- 可以将Symbol.species用于普通对象吗
- 在url验证时禁用@symbol
- 如何获取对象的Symbol属性
- 为什么我们要定义符号.[Symbol]的迭代器.迭代器)?javascript中的可迭代对象
- 如何遍历所有属性,例如[Symbol.iterator]
- 将值传递给Symbol.iterator
- 使用ES6 Symbol作为唯一id是一个好做法吗?
- 如何实现Symbol.iterator
- AngularJS去掉了URL中的# symbol
- NodeJS Promise和Symbol.species的用法