为什么要学习函数式编程
函数式编程是随着Read的流行受到越来越多的关注
vue3也开始拥抱函数式编程
函数式编程可以抛弃this
打包过程中可以更好的利用tree shaking 过滤无用代码
方便测试、方便并行处理
有很多库可以帮助我们进行函数式开发:lodash、underscore、ramda
什么是函数式编程
函数式编程(FP),FP是编程范式之一,我们常听说的编程范式还有面向过程编程、面向对象编程。
面向对象编程的思维方式:吧现实世界中的事物抽象成程序中世界中的类和对象,通过封装、继承和多态来演示事物事件的关系
函数式编程的思维方式:把现实世界的事物和事物之间的联系抽象到程序世界(对运算过程进行抽象)
程序的本质:根据输入通过某种运算获得相应输出,程序开发过程中会涉及到很多输入的输出的函数
x->f(联系、映射)->y,y=f(x)
函数式编程中的函数指的不是程序中的函数(方法),而是数学中的函数即映射关系,例如:y=sin(x),x和y的关系
相同的输入始终要得到相同的输出(纯函数)
函数式编程用来描述(数据)之间的映射
let a=1;
let b=2;
let c=a+b;
console.log(c);
function f(a,b){
return a+b;
}
let d=f(1,2);
console.log(d);