我们在应用程序中发现了一些使用EOL React库recompose的文件。
研究完函数组成之后,听起来好像Javascript可以本地完成
假设foo
和bar
是均返回一个采用另一个函数的函数的高阶函数(组件)。
有人能够解释使用一个函数来组成其他这样的函数的区别:
compose(foo(arg), bar(arg2));
并且仅在没有这样的库的情况下组合功能:
foo(arg)(bar(arg2))
compose
的文档阅读:
用于将多个高阶分量组合为一个高阶分量。这与Redux或lodash的 flowRight ()中的同名函数完全一样。
lodash / flowRight的文档为:
创建一个函数,该函数使用创建的函数的this绑定返回调用给定函数的结果,在此向每个连续调用提供前一个函数的返回值。
所以听起来唯一的区别是为每个函数调用提供了this
绑定-两者之间还有其他区别吗?