day01_纯函数和副作用函数
纯函数
-
存函数定义:相同的输入永远会得到相同的输出,而没有任何可观察的副作用函数
-
存函数好处
-
可缓存,例如lodash中的memoize记忆函数。
-
可测试,纯函数让测试更方便。
-
并行处理:在多线程环境下并行操作共享的内存数据很可能会出现意外情况 纯函数不需要访问共享的内存数据,所以在并行环境下可以任意运行纯函数 (Web Worker)
-
副作用函数
-
副作用函数:函数会依赖或改变外部的状态。所有外部交互都有可能带来副作用,副作用也使得方法通用性下降不适合扩展和可重用性,同时副作用会给程序中带来安全隐患给程序带来不确定性,但是副作用不可能完全禁止,尽可能控制它们在可控范围内发生。