pure function

更新 發佈閱讀 1 分鐘

pure function 是甚麼呢?
最主要兩大特點 :

  1. 淺顯易懂的說法就是 : 對於有相同的輸入,就會有相同的輸出。
  2. 無副作用 : 不會去修改或依賴外部的狀態。

舉一個例子 :

function add(a, b) {
return a + b;
}

function裡面他帶入的參數都是(a,b),代表每次都會是相同的輸入, 輸出的結果也都是a + b。也沒有去改變外部的狀態,沒有跟外部進行操作,這就是無副作用。

那接下來給你看,你覺得這個例子他是個純函數嗎 ?

function fn1(myName) {
console.log(myName);
}

答案是 : 不是一個純函數
因為他在fn1裡面加了console.log,他會打印到控制台,這樣就是跟外部(控制台)進行操作了。


參考:

iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

纯函数(pure function )-CSDN博客


留言
avatar-img
留言分享你的想法!
avatar-img
郭欣玫的沙龍
3會員
17內容數
郭欣玫的沙龍的其他內容
2024/07/24
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
2024/07/24
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
2024/07/14
就是指變數可以被訪問和使用的範圍,來說一下var、let和const的作用域差異。 var :function example() { console.log(x); // 輸出: undefined 因為變量提升造成的 var x = 5; } 函數作用域或全域作用域 可以重複宣告
2024/07/14
就是指變數可以被訪問和使用的範圍,來說一下var、let和const的作用域差異。 var :function example() { console.log(x); // 輸出: undefined 因為變量提升造成的 var x = 5; } 函數作用域或全域作用域 可以重複宣告
2024/07/04
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
Thumbnail
2024/07/04
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
Thumbnail
看更多
你可能也想看
Thumbnail
探討雙十一購物節如何從血拼轉為理性補貨,並介紹蝦皮分潤計畫,教你如何透過日常購物累積小額被動收入。文章分享個人購物清單(貓罐頭、Snoopy口罩、康寧杯),並提供詳細的分潤計畫申請步驟與優勢,強調此為零壓力、零門檻的理財新方式。
Thumbnail
探討雙十一購物節如何從血拼轉為理性補貨,並介紹蝦皮分潤計畫,教你如何透過日常購物累積小額被動收入。文章分享個人購物清單(貓罐頭、Snoopy口罩、康寧杯),並提供詳細的分潤計畫申請步驟與優勢,強調此為零壓力、零門檻的理財新方式。
Thumbnail
厭倦了單純消費?這篇文章帶你認識「蝦皮分潤計畫」,將你的購物習慣轉化為額外收入。從德州撲克牌組、實用晒衣架的購物經驗,到雙11購物清單與省錢技巧,作者分享如何利用分潤機制,讓每一筆花費都可能變現,實現「邊買邊賺」的雙贏局面。同時提供註冊指南與網賺優勢,邀請你也一同加入。
Thumbnail
厭倦了單純消費?這篇文章帶你認識「蝦皮分潤計畫」,將你的購物習慣轉化為額外收入。從德州撲克牌組、實用晒衣架的購物經驗,到雙11購物清單與省錢技巧,作者分享如何利用分潤機制,讓每一筆花費都可能變現,實現「邊買邊賺」的雙贏局面。同時提供註冊指南與網賺優勢,邀請你也一同加入。
Thumbnail
在 Python 中,print( ) 函數用於將結果輸出到螢幕上。當你嘗試將不同資料型別(例如字串和數字)混合在一起輸出時,print( )函數無法直接處理這些不同型別的資料,因此你需要先將它們轉換為相同的資料型別。通常,這意味著需要將數字轉換為字串型別,以便與其他字串一同輸出。 雖然我們也可以
Thumbnail
在 Python 中,print( ) 函數用於將結果輸出到螢幕上。當你嘗試將不同資料型別(例如字串和數字)混合在一起輸出時,print( )函數無法直接處理這些不同型別的資料,因此你需要先將它們轉換為相同的資料型別。通常,這意味著需要將數字轉換為字串型別,以便與其他字串一同輸出。 雖然我們也可以
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
建立自己的Module有哪些好處?
Thumbnail
建立自己的Module有哪些好處?
Thumbnail
Function的使用方式
Thumbnail
Function的使用方式
Thumbnail
註解 & Print & 變數型態
Thumbnail
註解 & Print & 變數型態
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
可選串聯(?.)運算符用於訪問 object 的屬性或調用函數。如果使用該運算符訪問的object 或調用的函式為 undefined 或 null,則表達式會回傳 undefined,而不是拋出錯誤。
Thumbnail
可選串聯(?.)運算符用於訪問 object 的屬性或調用函數。如果使用該運算符訪問的object 或調用的函式為 undefined 或 null,則表達式會回傳 undefined,而不是拋出錯誤。
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
pipe 代表函數式程式設計中的概念,利用多個功能結合在一起,資料依序通過每個功能進行處理。文章中介紹了 pipe 的優點、兩個等效的程式碼比較以及 remeda 套件的使用。詳細介紹了使用 pipe 的好處,並提供了多個相關的例子,展示了 pipe 可讀性的提升。
Thumbnail
pipe 代表函數式程式設計中的概念,利用多個功能結合在一起,資料依序通過每個功能進行處理。文章中介紹了 pipe 的優點、兩個等效的程式碼比較以及 remeda 套件的使用。詳細介紹了使用 pipe 的好處,並提供了多個相關的例子,展示了 pipe 可讀性的提升。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News