天天看点

函数式编程-概念篇

函数式编程-概念篇

概念

函数式编程是种编程方式,它将电脑运算视为函数的计算。
函数编程语言最重要的基础是λ演算(lambda calculus),
而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)
和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。
和过程化编程相比,函数式编程里函数的计算可随时调用。
           

理解

函数式编程

函数式编程(Function ProgramMing,FP),FP是编程范式之一,
我们常说的编程范式还有面向对象编程和面上过程编程
           

面向对象编程的思维方式

面向对象编程的思维方式:把现实世界中的事物抽象成程序,通过封装、继承、多态来演示事物事件的联系
           

函数式编程的思维方式

函数式编程的思维方式:把现实世界中的事物和事物之间的联系抽象到程序世界(对运算过程进行抽象)

程序的本质:根据输入通过某种运算获得相应的输出,程序开发过程中会涉及很多输入和输出的函数
函数式编程中的函数指的不是编程过程中函数(方法)、而是数学中的函数即映射关系例如 y=sin(x),x和y的关系

相同的输入始终要得到相同的输出(函数)
函数式编程用来描述数据(函数)之间的映射

           
//非函数式编程

let num1 = 1;
let num2 = 2;
let sum = num1 + num2;
console.log(sum);

//函数式编程

const add = (a, b) => {
    return a + b
};
add(num1, num2)
           

使用函数式编程的原因

1、函数式编程是随着react的流行受到越来越多的关注
2、Vue3.0也开始拥抱函数式编程
3、函数式编程可以抛弃this
4、打包过程中可以更好地利用tree shaking 过滤无用代码
5、方便测试,方便并行处理
6、有很多的库可以帮助进行函数式开发例如:lodash underscore 
           

以上为个人观点,如有不足 敬请指教

继续阅读