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

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

我一直在JavaScript中处理可选参数,如下所示:

function myFunc(requiredArg, optionalArg){
  optionalArg = optionalArg || 'defaultValue';

  // Do stuff}

有更好的方法吗?

是否有使用||就像那样会失败吗?


手掌心
浏览 356回答 3
3回答

呼啦一阵风

如果optionalarg被传递,您的逻辑就会失败,但计算结果为false-尝试将此作为替代方法。if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }或者另一种成语:optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;用任何一种成语最能传达你的意图!

开心每一天1111

在ECMAScript 2015(又名“ES6”)中,您可以在函数声明中声明默认参数值:function myFunc(requiredArg, optionalArg = 'defaultValue') {     // do stuff}更多关于他们的这篇关于MDN的文章.这是目前仅受Firefox支持,但随着标准的完成,预计支持将迅速改善。默认参数现在被现代浏览器广泛支持。所有版本的InternetExplorer都不支持此功能。然而,Chrome、Firefox和Edge目前都支持它。

30秒到达战场

我发现这是最简单、最易读的方法:if (typeof myVariable === 'undefined') { myVariable = 'default'; }//use myVariable here保罗·狄克逊的回答(在我看来是卑微的观点)比这更难理解,但它可以归结为偏好。Insin的答案更高级,但对于大型功能更有用!我为Node.js创建了一个包,它使“重载”函数(方法)变得更容易,称为参数化.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript