由于依赖于执行脚本的系统,我正在将一些脚本从 ES6 转换为 ES5。我遇到了这个特定命令的问题:
transition.selectAll('path.hidden-arc')
.attrTween('d', d => () => middleArcLine(d));
我不确定他们试图用 '=> () =>' 语法来完成什么,并且不确定如何将其转换为 ES5 标准函数。任何帮助是极大的赞赏。
由于依赖于执行脚本的系统,我正在将一些脚本从 ES6 转换为 ES5。我遇到了这个特定命令的问题:
transition.selectAll('path.hidden-arc')
.attrTween('d', d => () => middleArcLine(d));
我不确定他们试图用 '=> () =>' 语法来完成什么,并且不确定如何将其转换为 ES5 标准函数。任何帮助是极大的赞赏。
它使用箭头函数来表示一个函数,该函数返回一个函数,该函数返回调用middleArcline
函数的值。在 ES5 中,它可能看起来像这样:
transition.selectAll('path.hidden-arc').attrTween('d', function (d) {
return function () {
return middleArcLine(d);
};
});
请注意,Babel是用于在不同版本的 JavaScript 之间进行编译的好工具
我猜这是一个调用函数的函数。尝试这个
transition.selectAll('path.hidden-arc')
.attrTween('d', function (d) {
return function() {
return middleArcLine(d)
}
}
);
我可能错了,但只是尝试一下。
transition.selectAll('path.hidden-arc')
.attrTween('d', function (d) {
return function() {
return middleArcLine(d)
}
);