IE 11中的下划线js语法错误

时间:2016-11-03 11:40:11

标签: javascript internet-explorer underscore.js

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

一切都按照预期在chrome中运行。但是,当我在IE11中运行相同的代码时,我在控制台中出现了js错误

SCRIPT1002:语法错误 File:OptionSrv.js,Line:197,Column:62

当我点击文件给我带来错误时,光标放在 => 上 - 这是一个红色的鲱鱼还是应该有另一种方法可以在这两个方面都有效和IE?

请注意,如果我在IE中注释掉这一行我没有收到控制台错误,但这显然不是我需要的解决方案

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

Internet Explorer 11不支持箭头功能。

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

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

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