ES6對函數參數設置默認值
使用=號對參數設置默認值
function myfunc(message, flag = false) { // Code }
myfunc("hello");
當flag沒有傳遞值時,默認為false
也可以使用解構賦值:
function myfunc({ start = 5, end = 1, step = -1 } = {}) {
}
使用{}賦值給命名參數,這可以讓我們直接調用空參數的函數,
myfunc();
ES6之前對函數參數設置默認值
es6之前的JavaScript是不支持對函數參數設置默認值,我們只能在函數內做處理,有很多種方法,這里提供一種:
function myfunc(a, b) {
a = typeof a ! 'undefined' ? a : 1;
b = typeof b ! 'undefined' ? b : 'default string';
...
}
需要注意的是typeof null == 'object',所以上面參數是運行傳null的,不傳值為undefined,這時使用默認值。