This question already has answers here:
Set a default parameter value for a JavaScript function

(27个答案)


4年前关闭。




我一直像这样处理JavaScript中的可选参数:
function myFunc(requiredArg, optionalArg){
  optionalArg = optionalArg || 'defaultValue';

  // Do stuff
}

有更好的方法吗?

在任何情况下使用||都会失败吗?

最佳答案

如果传递了optionalArg,您的逻辑将失败,但评估为false-尝试使用此方法

if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }

或另一种习语:
optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;

使用任何一种最能传达您意图的习语!

10-07 16:45