IE 11 Script1002 Array.Filter(x => ...)(箭头函数)

Posted

技术标签:

【中文标题】IE 11 Script1002 Array.Filter(x => ...)(箭头函数)【英文标题】:IE 11 Script1002 Array.Filter(x => ...) (Arrow functions) 【发布时间】:2016-11-30 10:40:27 【问题描述】:

我在 IE11 中收到一条错误消息,但在 chrome 中却没有,错误是:

Script1002 语法错误

我的代码如下

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

错误的行列号提示是IE11不喜欢的箭头函数=>。但是它在 ChromeEdge

中运行良好

【问题讨论】:

IE11不支持箭头功能 【参考方案1】:

ie 11 不支持arrow functions

试试

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

IE 11 尚不支持箭头功能。您可以参考以下兼容性表:https://kangax.github.io/compat-table/es6/ 以详细了解支持的位置和程度。

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

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

【讨论】:

以上是关于IE 11 Script1002 Array.Filter(x => ...)(箭头函数)的主要内容,如果未能解决你的问题,请参考以下文章

element ui 支持ie11

编译 ES6 和 VUE JS 在 IE 11 中不起作用

IE11 上的 VueJS 错误 - SCRIPT1004: 预期为 ';'

使用 CORS 调用本地 URL 时 IE10 中的访问被拒绝

ReactJS - SCRIPT1010:预期标识符 - 生产版本未在 IE11 上运行

IE 11 Script1028 在函数内传播,尝试了 Array.prototype.push.apply