了解如何在JavaScript函數中添加預設參數值
預設參數值在2015年的ES6中引入,並且在現代瀏覽器中被廣泛實現。
這是一個接受param1
的doSomething
函數。
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' } = {}) => {
...
}