Search code examples
javascriptes5-compatiblity

Converting => () => to ES5


I'm in the process of converting some scripting from from ES6 to ES5 due to a dependency on the system executing the scripts. I'm running into an issue with this particular command:

transition.selectAll('path.hidden-arc')
   .attrTween('d', d => () => middleArcLine(d));

I'm not sure what they're trying to accomplish with the '=> () =>' syntax and am unsure how to convert this to ES5 standard functions. Any help is greatly appreciated.


Solution

  • It's using arrow functions to represent a function that returns a function that returns the value from calling the middleArcline function. In ES5 it could look something like this:

    transition.selectAll('path.hidden-arc').attrTween('d', function (d) {
        return function () {
            return middleArcLine(d);
        };
    });
    

    Note that Babel is a great tool for compiling between different versions of JavaScript