https://juejin.cn/post/7159445281203814414
https://juejin.cn/post/6844903645222273037
函数式编程的理解
1、将函数视为积木,通过函数来提高代码的模块化和可重用性
2、纯函数的使用,不与全局状态发生交互,具有独立稳定性,提高代码的可维护性
3、函数式编程,是声明式的编程范式(与之对应的是命令式),逻辑清晰,提高代码可读性
4、延时调用
柯里化函数:函数元降维技术,柯里化函数帮助我们把一个多元函数变成一个不完全调用,把函数调用变成延迟的偏函数(不完全调用函数)调用。这在函数组合、复用等场景非常有用。
偏函数:所谓偏函数,就是以原函数为基础,将某个位置上的参数固定住,后续参数重新扩展传递给原函数,对外则是生成一个新函数
概括为几点:
纯函数(无副作用)
引用透明(相同输入对应相同输出)
不可变性(不会改变原有输入引用)
柯里化(代码模块化,提高复用性)
惰性求值(延迟执行)
应用:
1、React 选择逐步告别 Class 组件,拥抱“函数组件”?
2、Redux 的 Reducer 必须是“纯函数”
3、Ramda.js
4、Rx.js