函数参数默认值的相关骚操作
场景:利用参数默认值指定一个参数不可省略
上面代码的 foo 用函数,如果调用的时候没有参数,就会调用默认值 throwIfMissing
函数,从而抛出一个错误
从上面代码还可以看到,参数 mustBeProvided
的默认值等于 throwIfMissing
函数的运行结果(注意函数名 throwIfMissing
之后有一对圆括号),这表明参数的默认值不是在定义时执行,而是在运行时执行。如果参数已经赋值,默认值中的函数就不会运行
另外,可以将参数默认值设置为 undefined
,表明这个参数是可以省略的
Last updated
Was this helpful?