IE 11 Script1002 Array.Filter(x => ...)(箭头功能)

时间:2016-07-26 16:50:14

标签: javascript ecmascript-6 internet-explorer-11

我在 IE11 中收到错误消息,但在Chrome中没有收到错误消息:

  

Script1002语法错误

我的代码如下

var selectedRoles = vm.roles.filter(x => x.id === role.id);

错误的行号和列号表明它是 IE11 不喜欢的箭头函数=>。但是,它在 Chrome Edge

中工作正常

3 个答案:

答案 0 :(得分:68)

即11不支持arrow functions

尝试

var selectedRoles = vm.roles.filter(function(x) { return x.id === role.id; });

答案 1 :(得分:4)

不支持IE arrow function检查browser compatibility here。如果您想要IE支持,请改用普通函数。

var selectedRoles = vm.roles.filter(function(x) {
  return x.id === role.id
});

答案 2 :(得分:1)

IE 11中尚不支持箭头功能。您可以参考这些兼容性表格https://kangax.github.io/compat-table/es6/,以便详细了解在哪里以及在何种程度上提供的内容。

使用pollyfills或PRE-ES6兼容代码,例如

var selectedRoles = vm.roles.filter(function(x) {
   return x.id === role.id
});