设置默认值的两种样式

Two styles for setting defaults

本文关键字:样式 两种 默认值 设置      更新时间:2023-09-26

我看到了两种不同的"样式"设置默认值default到变量argument在JavaScript:

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

它们是完全相等的吗?是一个比另一个快,还是在其他方面更好?

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

真的,虽然我怀疑你会看到不同。


再分解一下

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

  2. 计算布尔条件argument || (argument = default)。如果argument已经为真,则求值将短路,并且不会发生其他任何事情。如果argument不为真,则会命中布尔条件的后半部分,并将argument赋值为default