在chrome和firefox中,这不是问题,但是IE11在此行给我一个语法错误1002:
let aCopy = [...a];
但是我不知道解决方案是什么。巴别塔给了我这么大的输出:
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
var aCopy = _toConsumableArray(a);
任何人都可以向我介绍这实际上意味着什么吗?
答案 0 :(得分:-2)
IE 11不支持可迭代对象的扩展语法(数组文本中的稀疏数组)。它需要一个js编译器才能将[... array]转换为es5代码(https://github.com/babel/babel/issues/4922)。请参阅https://kangax.github.io/compat-table/es6/#test-spread_syntax_for_iterable_objects