什么是純函數

“純函數”這個概念個人覺得適用與所有的語言。
什么是純函數,純函數有兩個重要的標準,違反任何一個都不是純函數;
1、函數的返回結果只依賴于它傳入的參數。
2、函數執行過程里面沒有副作用。

例如:
const fun = (a, b) => a + b;
返回就是a加b的和,符合以上兩個標準,返回結果永遠是可預料的,程序運行中不會有副作用

再例如:
const obj = {};
const fun = (obj,b) =>{
obj._age = 18;
return obj._age +b;
}
這個雖然返回永遠是18+b,但是有副作用,修改或者新增了obj這個對象的_age屬性值,有無法預估的影響。

總結:
1、純函數很嚴格,也就是說你幾乎除了計算數據以外什么都不能干,計算的時候還不能依賴除了函數參數以外的數據。
2、一個函數的返回結果只依賴于它的參數,并且在執行過程里面沒有副作用,我們就把這個函數叫做純函數。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容