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,这时使用默认值。