有没有更好的方法在 JavaScript 中执行可选函数参数?

2022-01-21 00:00:00 function arguments 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!

相关文章