我有一个JavaScript函数,我想知道是否有更好的方法来完成以下代码所做的...
const func = (foo = defaultFoo) => {
const f = foo || defaultFoo
}
基本上如果输入参数是任何假值(不只是undefined
),我希望它设置为等于默认值。
答案 0 :(得分:4)
基本上如果输入参数是假值,我希望它设置为等于默认值
如果您希望所有虚假值成为默认值,包括0
,""
,null
,false
等,那么& #39; s几乎是你需要做的。
请注意,由于undefined
是假的,因此不需要给出函数的第一行的默认参数。 E.g:
const func = foo => { // No need for = defaultValue on this line
const f = foo || defaultFoo
}
是的,在这种情况下你使用||
是惯用的。
答案 1 :(得分:1)
您可以省略默认值,因为您也可以稍后检查。
const func = (foo) => {
const f = foo || defaultFoo;
console.log(f);
}
const defaultFoo = 42;
func();
func(undefined);
func(null);
func('');
func('foo');