语法错误使用=>在IE中

时间:2017-06-08 13:46:26

标签: javascript

我有以下一行javascript代码

var res = Object.keys(packages).filter(e => packages[e] === true)

以上在除IE之外的所有其他浏览器中都能很好地工作。 IE在=>抱怨Syntax错误,有人可以告诉我如何在IE中解决这个问题

3 个答案:

答案 0 :(得分:3)

IE不得支持箭头功能。只需使用旧的function关键字即可。

.filter(function(e){ return packages[e] === true })

旁注,但您也可以将其写为:

.filter(function(e){ return packages[e] })

除非packages[e] 必须实际上完全等于true,而不仅仅是真理。

答案 1 :(得分:1)

IE不支持胖箭头符号(Edge确实)。见http://kangax.github.io/compat-table/es6/。您需要较旧的函数表示法:

var res = Object.keys(packages).filter(function(e) { return packages[e] === true })

答案 2 :(得分:1)

CanIUse: Arrow function你不能在IE中使用它;

var res = Object.keys(packages).filter(function(e) = {return packages[e] === true})