有没有更好的方法在 JavaScript 中做可选的函数参数?
问题描述:
我一直在 JavaScript 中这样处理可选参数:
I've always handled optional parameters in JavaScript like this:
function myFunc(requiredArg, optionalArg){
optionalArg = optionalArg || 'defaultValue';
// Do stuff
}
有更好的方法吗?
有没有像这样使用 ||
会失败的情况?
Are there any cases where using ||
like that is going to fail?
答
如果传递 optionalArg,您的逻辑将失败,但计算结果为 false - 试试这个作为替代方案
Your logic fails if optionalArg is passed, but evaluates as false - try this as an alternative
if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }
或者另一种习语:
optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;
使用最能向您传达意图的习语!
Use whichever idiom communicates the intent best to you!