IE中使用ES6箭头函数的语法错误

时间:2016-10-18 13:46:09

标签: javascript regex internet-explorer ecmascript-6

我有这段JavaScript代码

price = price.replace(/(.*)\./, x => x.replace(/\./g,'') + '.')

这在Firefox和Chrome中运行良好,但IE在我的代码中给出了一个指向=>的语法错误。

有没有办法在IE中使用ES6箭头语法?

2 个答案:

答案 0 :(得分:20)

IE不支持ES6,因此您必须坚持使用这些函数的原始编写方式。

price = price.replace(/(.*)\./, function (x) {
  return x.replace(/\./g, '') + '.';
});

此外,相关:When will ES6 be available in IE?

答案 1 :(得分:4)

Internet Explorer还不支持arrow functions。您可以查看支持箭头功能的浏览器here

解决它的方法是建立一个好的旧的常规回调函数:

price = price.replace(/(.*)\./, function (x) {
    x.replace(/\./g,'') + '.';
}

这适用于所有浏览器。