最簡單的寫法就是對的

假如熟悉其他程式語言,對於 ECMAScript 的 Boolean 判斷可能會踩到雷。

Version


ECMAScript 5

if ()


true000

{} 是 Truthy Value,最標準的寫法就是只用 if () 判斷。

if ( === true)


true001

若你熟悉 C#,可能會習慣明確加上 true 判斷,很直覺配合 ===,但會很訝異是 false

true002

因為 === true 必須 type 相等,且 value 相等。

obj 型別為 object,而 true 型別為 boolean,故 === 不會相等。

Conclusion


  • 判斷 Boolean 時,最簡單的 if ()if (!) 就是最正確的寫法,若寫成 if ( === true) 反而是錯的
2018-11-14