-
JavaScript尾调用优化的babel-plugin-tailcall-optimization!
资源介绍
babel-plugin-tailcall优化
JavaScript的尾调用优化!
安装
npm install babel-plugin-tailcall-optimization --save-dev
并添加到您的.babelrc :
"plugins" : [ "tailcall-optimization" ]
如果您使用babel @ 6,请使用babel-plugin-tailcall-optimization@1软件包
它是如何工作的?
我们使用while循环通过尾调用来重写函数。 带尾调用的原始函数:
function counter ( n , acc = 0 ) {
if ( n === 0 ) {
return acc
} else {
return counter ( n - 1 , acc + 1 )
}
}
被重写为:
function counter ( n , acc = 0 ) {
var _repeat = true ;
var _n , _acc ;
while ( _repeat ) {