我已经看到了两种用于在JavaScript中为变量default设置默认值argument的“样式”:

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


这些完全等同吗?一个比另一个更快,或者在其他方面更好?

最佳答案

如果argument已经是真实的,则第二个避免任何分配,因此从理论上讲它可能会更快一些。

真的,尽管我怀疑您是否会有所作为。



只是为了分解它


如果argument已经为真,则将argument分配给自身,否则将argument分配给default
评估布尔条件argument || (argument = default)。如果argument已经是真实的,则评估将短路,并且不会发生其他任何事情。如果argument不正确,则将满足布尔条件条件的下半部分,并为argument分配default

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

10-11 12:24