Michael Tot Korsgaard
Michael Tot Korsgaard

Reputation: 4014

Syntax error in IE using ES6 arrow functions

I have this piece of JavaScript code

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

This works fine in Firefox and Chrome, however IE gives me an syntax error pointing at => in my code.

Is there a way to use ES6 arrow syntax in IE?

Upvotes: 7

Views: 23062

Answers (2)

Val Berthe
Val Berthe

Reputation: 2054

Internet explorer doesn't support arrow functions yet. You can check the browsers supporting arrow functions here.

The method to solve it would be to make a good old regular callback function :

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

This would work in every browser.

Upvotes: 4

roberrrt-s
roberrrt-s

Reputation: 8210

IE doesn't support ES6, so you'll have to stick with the original way of writing functions like these.

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

Also, related: When will ES6 be available in IE?

Upvotes: 21

Related Questions