我看到两种不同的“样式”用于在JavaScript中为变量default
设置默认值argument
:
argument = argument || default // Version 1
argument || (argument = default) // Version 2
这些完全相同吗?是一个比另一个更快,还是以其他方式更好?
答案 0 :(得分:2)
如果argument
已经真实,那么第二个避免任何分配,因此理论上它可能更快。
真的,我怀疑你有没有看到差异。
只是为了分解一下
如果argument
已经真实,则将argument
分配给自己,否则将argument
分配给default
评估布尔条件argument || (argument = default)
。如果argument
已经真实,评估将短路,并且不会发生任何其他事情。如果argument
不是真实的,布尔条件的后半部分将会命中,argument
将被分配default