2011-12-18 59 views
1

我已經看到了兩個不同的「風格」爲默認值設置default在JavaScript變量argument兩種風格設置默認值

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

這些是完全等價?一個比另一個更快,還是更好?

回答

2

如果argument已經是真的,第二個避免任何分配,所以它可能在理論上更快一點。

真的,雖然我懷疑你會看到有什麼不同。


只是爲了打破它多一點

  1. 分配argument本身如果argument已經truthy,以其他方式轉讓給argumentdefault

  2. 評估布爾條件argument || (argument = default)。如果argument已經是真的,評估將短路,沒有別的事情會發生。如果argument不是truthy,布爾條件下半年會打,而且argument將被分配default