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

时间:2021-01-30 05:19:15
【文件属性】:
文件名称:babel-plugin-tailcall-optimization:JavaScript的尾调用优化!
文件大小:39KB
文件格式:ZIP
更新时间:2021-01-30 05:19:15
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)

网友评论