【 啊~原來如此!】PartII Day 2 挑戰-函式預設值

default parameter的運用

Timothy Liao
Coding & Learning
3 min readMar 28, 2021

--

在設定一個畫面有不同顯示模式的時候,我運用renderUsersCard()這個函式去渲染(render)畫面,當時我需要解決的問題是:如何讓網頁在點選模式按鈕時,可以讓renderUsersCard()這個函式能夠「知道」我在點選哪個按鈕,於是可以判斷現在要渲染什麼樣子的畫面。

解決方法

方法一:
設定一個全域變數,比如說displayMode = ‘list’,並讓renderUsersCard()這個函式去取用這個變數,並且在點選不同按鈕時重新賦值這個全域變數。

方法二:
在renderUsersCard()設定一個函式預設值,這樣也可以減少全域變數的數量。

Default parameter的小歷史

在ES6之前,這個方法其實並不這麼直覺,當時是運用parameter的特性:預設所有參數值為undefined,並技巧性的加入判斷式。

關於default parameter的應用

除了可以直接等於使用primitive type以外,其實也可以使用物件、陣列或甚至函數:

  1. 後設定的參數可以運用先前的:

2. 設定parameter無值就報錯的方法:

後續的就等之後再補充吧~~

參考資料

--

--