在javascript中,if語句括號中的表達式返回值可以是任何類型,即:if(a)中的a可以是boolean、number、string、object、function、undefined中的任何類型,這便會涉及到不同類型和boolean類型的轉換問題。
如果a不是boolean類型,那么js解釋器會自動調用Boolean()函數對a進行類型轉換,Boolean()的返回值是一個boolean類型的變量。
string類型
- 空字符串,即“”或‘’轉換為false
- 任何非空字符串轉換為true
number類型
- 0和NaN轉換為false
- 除0和NaN轉換為true(包括Infinity和-Infinity)
object
- null轉換為false
- 除null轉換為true
function
- 轉換為true
undefined
- 轉換為false
