首页 > 解决方案 > 将 => () => 转换为 ES5

问题描述

由于依赖于执行脚本的系统,我正在将一些脚本从 ES6 转换为 ES5。我遇到了这个特定命令的问题:

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

我不确定他们试图用 '=> () =>' 语法来完成什么,并且不确定如何将其转换为 ES5 标准函数。任何帮助是极大的赞赏。

标签: javascriptes5-compatiblity

解决方案


它使用箭头函数来表示一个函数,该函数返回一个函数,该函数返回调用middleArcline函数的值。在 ES5 中,它可能看起来像这样:

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

请注意,Babel是用于在不同版本的 JavaScript 之间进行编译的好工具


推荐阅读