天天看點

函數式程式設計-概念篇

函數式程式設計-概念篇

概念

函數式程式設計是種程式設計方式,它将電腦運算視為函數的計算。
函數程式設計語言最重要的基礎是λ演算(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 
           

以上為個人觀點,如有不足 敬請指教

繼續閱讀