查看以下代碼。
false == 0
返回:true
這是一個類型轉(zhuǎn)換示例,之前你已經(jīng)見過。JavaScript 認(rèn)為 0 表示 false,因此比較結(jié)果為true。那么為何要再次提到該示例呢?
如果再深入思考下,就會更容易回答為何 JavaScript 將值 0 轉(zhuǎn)型為 false。
真值和假值
JavaScript 中的每個值都有固有的布爾值,在布爾表達(dá)式中評估該值時,該值就會轉(zhuǎn)換為固有的布爾值。
這些固有的值稱為真值或假值。
假值
結(jié)果為 false 的值稱為 假值。例如,空字符串 "" 為假值,因?yàn)樵诓紶柋磉_(dá)式中,"" 等于 false。
false == ""
返回:true
以下是所有假值的列表:
false
null
undefined
0
NaN
""
真值
如果結(jié)果為 true,則為真值。例如,1 是真值,因?yàn)樵诓紶柇h(huán)境下,1 等于 true。
true == 1
返回:true
以下是真值的一些其他示例:
true
42
"pizza"
{}
[]
本質(zhì)上,如果不是假值,則為真值!