javascript使falsey函数param成为标准值

时间:2017-08-04 11:34:21

标签: javascript

我有一个JavaScript函数,我想知道是否有更好的方法来完成以下代码所做的...

const func = (foo = defaultFoo) => {
  const f = foo || defaultFoo
}

基本上如果输入参数是任何假值(不只是undefined),我希望它设置为等于默认值。

2 个答案:

答案 0 :(得分:4)

  

基本上如果输入参数是假值,我希望它设置为等于默认值

如果您希望所有虚假值成为默认值,包括0""nullfalse等,那么& #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');