javascript - 两种设置默认值的样式

标签 javascript

我见过两种不同的“样式”,用于在 JavaScript 中为变量 argument 设置默认值 default:

argument = argument || default     // Version 1
argument || (argument = default)   // Version 2

这些是完全等价的吗?一个比另一个更快,还是在其他方面更好?

最佳答案

如果 argument 已经为真,第二个则避免任何赋值,因此理论上它可能会快一点点。

真的,虽然我怀疑你是否会看到差异。


再分解一下

  1. 如果 argument 已经为真,则将 argument 分配给自身,否则将 argument 分配给 default

  2. 评估 bool 条件参数|| (参数 = 默认值)。如果 argument 已经为真,则评估将短路,并且不会发生其他任何事情。如果 argument 不为真, bool 条件的后半部分将命中,argument 将被分配 default

关于javascript - 两种设置默认值的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549421/

相关文章:

c# - 从服务器端到 Javascript 的时区不正确

JavaScript 代码不起作用

javascript - 如何引用 Node.js 模块内的导出函数

javascript - 如何将 exec 输出显示到文本区域

javascript - 光滑的轮播 NPM

javascript - 使用jquery滚动底部div

javascript - 附加 span 元素和 fadeOut jQuery

javascript - 即时更改元素的 CSS 类

javascript - jQuery 类选择器事件绑定(bind)是否将 eventHandler 附加到每个实例?

javascript - 在 Angular 中,当我收到一些新数据时如何强制模板重新编译?