IE 11 下划线 js 语法错误

Underscore js syntax error in IE 11

我在我的应用程序中使用下划线 js 库 (http://underscorejs.org/#filter)。

在 chrome 中一切都按预期进行。但是,当我 运行 在 IE11 中使用相同的代码时,我在控制台中收到一个 js 错误

SCRIPT1002:语法错误 文件:OptionSrv.js,行:197,列:62

当我单击该文件将我带到错误时,光标位于 => - 这是红鲱鱼还是应该有另一种方法来执行此操作适用于 chrome 和 IE?

请注意,如果我在 IE 中注释掉该行,我不会收到控制台错误,但这显然不是我需要的修复方法

  var group = myOptions.filter(g => g.options.indexOf(option.OptionCode) > -1);

IE11不支持ES6语法。如果你想像 Arrow 函数一样编写 ES6 语法,你可以 运行 通过像 Babel 这样的转译器来编写你的代码。

如果您希望您的客户端代码与旧浏览器兼容并且您不关心新语法,只需使用 ES5 语法:)

Internet Explorer 11 不支持箭头功能。

那是您代码的 g => g.options.indexOf(option.OptionCode) > -1 部分。

您可以在这里使用普通的匿名(或命名)函数,它应该可以正常工作:

var group = myOptions.filter(function(g) {
    g.options.indexOf(option.OptionCode) > -1);
});