Why you need JavaScript default parameters?
為什麼你需要 JavaScript 預設參數?
參數與引數 Parameters and Arguments
參數代表一個值你期望函式所接收;引數則是函式呼叫時所傳遞的值。概念上很容易理解,但實際上容易混淆 😅,有一個使用斜音開頭的方式來記憶它們我覺得蠻有效的:
- 參數(佔位符):Parameter → Placeholder
- 引數(實際值):Argument → Actual value
function example(parameter) { // ...}
example(argument);
發現問題
要了解預設參數,就要從現有的問題說起。在 JavaScript 中函式可以使用任意數量的參數與引數,但如果參數沒有對應的引數將導致該變數成為未定義。
function greeting(message) { console.log(message);}
greeting(); // undefined
使用預設參數
使用預設參數語法,只需要在參數後面加上等號與預設值即可,當沒有引數時就會自動使用參數預設值。
function greeting(message = '預設打招呼') { console.log(message);}
greeting(); // 預設打招呼
如果不使用預設參數,就會需要這樣寫:
function greeting(message) { if (typeof message === 'undefined') { message = '預設打招呼'; } console.log(message);}
greeting(); //預設打招呼