關(guān)于if(xx)和 a==b的判斷

對(duì)于使用JS,經(jīng)常會(huì)遇到使用if或者==等判斷語句,來了解一下對(duì)于兩種條件的基本轉(zhuǎn)換

if(xx)

括號(hào)里的表達(dá)式會(huì)被強(qiáng)制轉(zhuǎn)換成布爾類型進(jìn)行判斷
其余轉(zhuǎn)換規(guī)則如下:

  • Undefined轉(zhuǎn)換為false
  • Null轉(zhuǎn)換為false
  • Boolean 直接判斷
  • Number:+0,-0,NaN會(huì)被轉(zhuǎn)換為false,其他會(huì)被轉(zhuǎn)換為true
  • String:空字符串為false,其他為true
  • Object:轉(zhuǎn)換為true

在進(jìn)行&&``||判斷的時(shí)候,同樣null、NaN、undefined“”、0、-0、false;這七個(gè)是flase

a==b

== 不是嚴(yán)格相等,所以在使用 == 的時(shí)候會(huì)在一定程度上改變?cè)档念愋停?/p>

  • Undefined=Null
  • a和b中有數(shù)字類型或者布爾類型,都轉(zhuǎn)換為數(shù)字進(jìn)行判斷比較
  • 如果一個(gè)為對(duì)象,一個(gè)為字符串或者數(shù)字,把對(duì)象轉(zhuǎn)換為數(shù)字進(jìn)行比較判斷
  • Undefined轉(zhuǎn)換為NaN
  • Null轉(zhuǎn)換為0
  • 布爾類型:true轉(zhuǎn)換為1,false轉(zhuǎn)換為0
  • 字符串:非數(shù)字字符串轉(zhuǎn)為NaN,數(shù)字字符串轉(zhuǎn)為數(shù)字值
  • 對(duì)于object對(duì)象,先調(diào)用.valueof,沒有再調(diào)用.tostring
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容