我见过两种不同的“样式”,用于在 JavaScript 中为变量 argument
设置默认值 default
:
argument = argument || default // Version 1
argument || (argument = default) // Version 2
这些是完全等价的吗?一个比另一个更快,还是在其他方面更好?
最佳答案
如果 argument
已经为真,第二个则避免任何赋值,因此理论上它可能会快一点点。
真的,虽然我怀疑你是否会看到差异。
再分解一下
如果
argument
已经为真,则将argument
分配给自身,否则将argument
分配给default
评估 bool 条件
参数|| (参数 = 默认值)
。如果argument
已经为真,则评估将短路,并且不会发生其他任何事情。如果argument
不为真, bool 条件的后半部分将命中,argument
将被分配default
关于javascript - 两种设置默认值的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549421/