javascript - 函数中的默认值

标签 javascript design-patterns functional-programming

注意到两种为函数参数设置默认值的模式:

function fn ( val ) {
    val = val || 'default'; // (1)
    val || ( val = 'default' ); // (2)
}

一般我用#1,刚刚找到了第二个。

哪个更好?它们之间有什么区别?还有其他选择吗?

最佳答案

你的方法不会一直有效。例如,如果您想传递 false 作为参数,则表达式将被视为 false,并且您的变量将被分配默认值。

要获得更可靠的方法,您可以使用:

val = typeof val !== 'undefined' ? val : "default";

使用此方法,您可以传递 false 作为参数,甚至可以传递 null (typeof null == "object")

如果您有很多可选参数,您还可以考虑将对象作为参数,并使用未设置的属性的默认值来完成它。这更容易,因为您可以将值映射到属性名称,并且顺序不再重要。

关于javascript - 函数中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25581248/

相关文章:

c# - MVC、ORM 和数据访问模式

javascript - 在与 Ramda 的 react 中编写 setState

javascript - getJSON 获取所有项目但有未定义的错误

javascript - 需要在 HighChart 中链接 URL

javascript - 来自画廊的 multiscroll.js

ASP.NET MVP - 利用用户控件

javascript - 如何将 Facebook 页面的提要嵌入我的网站

c# - 用于处理个人和经常性费用的数据库设计

javascript - JavaScript 中的惰性事件流

scala - 为什么 Scala 中没有 "Functor"特征?