温馨提示:视频请点此观看
// 视频文字版:
JavaScript 函数式编程是一个存在了很久的话题,
现在ES6语法对于函数式编程更为友好,所以开始变的更加火热。
函数式编程可以理解为,以函数作为主要载体的编程方式,用函数去拆解、抽象一般的表达式,好处主要有以下几点:
1、语义更加清晰
2、可复用性更高
3、可维护性更好
4、作用域不会污染命名空间
现在来看一个基本的函数式编程,目标是把每个单词的首字母变为大写,
从上面的例子可以看出,函数式编程的特征,
好处是,结果是可预期的,且易于调试;
坏处是,很容易出现横向的多层嵌套。
就像下面这样,
//计算1,2,3,4相加之和
当然了,一般不会这样写,这只是极端表现。但客观上来看,函数式编程确实有可能出现这种情况。
上述情况的优化,可以采用“链式调用”来解决,
这样改写后,结构会整体变得比较清晰,而且链式调用的每一环在做什么也可以很容易的展现出来。
但随着项目的进行,代码量的增加,业务的复杂度不断上升,各种回调的存在 ,会使代码的嵌套层数不断增加。
这时更好的办法,就是Promise的链式结构,看下面这个例子,
它能够做到在代码高度复杂的情况下,依然保持代码层次的清晰,就像这样的。
扩展阅读: