babel-plugin-tailcall-optimization:JavaScript的尾调用优化!

时间:2024-02-19 23:05:55
【文件属性】:

文件名称:babel-plugin-tailcall-optimization:JavaScript的尾调用优化!

文件大小:39KB

文件格式:ZIP

更新时间:2024-02-19 23:05:55

javascript babel tail-call-optimization BabelJavaScript

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 ) {


【文件预览】:
babel-plugin-tailcall-optimization-master
----.gitignore(24B)
----README.md(2KB)
----test()
--------implicitReturn.js(273B)
--------counter.js(735B)
--------multipleCalls.js(1KB)
--------emptyReturn.js(306B)
--------recursiveWithClosure.js(971B)
--------fibonacciSeq.js(390B)
----examples()
--------implicitReturn.js(148B)
--------counter.js(142B)
--------multipleCalls.js(270B)
--------multipleCallsInArrowFnWithTernary.js(208B)
--------emptyReturn.js(67B)
--------recursiveWithClosure.js(277B)
--------multipleCallsWithTernary.js(213B)
--------fibonacciSeq.js(166B)
--------counterWithTernary.js(109B)
--------counterAsArrowFnWithTernary.js(98B)
----LICENSE(1KB)
----package.json(1KB)
----src()
--------lib.js(4KB)
--------findTailCalls.js(1KB)
----.babelrc(34B)
----benchmark()
--------fibonacciSeq.js(816B)
----testUtils.js(1KB)
----.npmignore(40B)
----yarn.lock(97KB)

网友评论