了解如何在JavaScript函數中添加預設參數值

預設參數值在2015年的ES6中引入,並且在現代瀏覽器中被廣泛實現。

這是一個接受param1doSomething函數。

const doSomething = (param1) => {

}

如果在調用函數時沒有指定參數,我們可以為param1添加一個預設值:

const doSomething = (param1 = 'test') => {

}

當然,這對於更多參數也同樣適用:

const doSomething = (param1 = 'test', param2 = 'test2') => {

}

如果您有一個帶有參數值的獨特對象呢?

從前,如果我們需要將一個包含選項的對象傳遞給函數,在其中為那些選項提供默認值(如果其中一個未定義),則必須在函數內部添加一些代碼:

const colorize = (options) => {
 if (!options) {
 options = {}
 }

 const color = ('color' in options) ? options.color : 'yellow'
 ...
}

使用解構賦值,您可以提供默認值,這大大簡化了代碼:

const colorize = ({ color = 'yellow' }) => {
 ...
}

如果在調用colorize函數時未傳遞對象,同樣我們可以默認為空對象:

const spin = ({ color = 'yellow' } = {}) => {
 ...
}