js中==和===區(qū)別

簡單來說: == 代表相同, ===代表嚴(yán)格相同, 為啥這么說呢,?

這么理解: 當(dāng)進(jìn)行雙等號(hào)比較時(shí)候: 先檢查兩個(gè)操作數(shù)數(shù)據(jù)類型,如果相同, 則進(jìn)行===比較, 如果不同, 則愿意為你進(jìn)行一次類型轉(zhuǎn)換, 轉(zhuǎn)換成相同類型后再進(jìn)行比較, 而===比較時(shí), 如果類型不同,直接就是false.


操作數(shù)1 == 操作數(shù)2,??操作數(shù)1 === 操作數(shù)2

比較過程:

  雙等號(hào)==:?

 ?。?)如果兩個(gè)值類型相同,再進(jìn)行三個(gè)等號(hào)(===)的比較

  (2)如果兩個(gè)值類型不同,也有可能相等,需根據(jù)以下規(guī)則進(jìn)行類型轉(zhuǎn)換在比較:

    1)如果一個(gè)是null,一個(gè)是undefined,那么相等

    2)如果一個(gè)是字符串,一個(gè)是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值之后再進(jìn)行比較

  三等號(hào)===:

 ?。?)如果類型不同,就一定不相等

 ?。?)如果兩個(gè)都是數(shù)值,并且是同一個(gè)值,那么相等;如果其中至少一個(gè)是NaN,那么不相等。(判斷一個(gè)值是否是NaN,只能使用isNaN( ) 來判斷)

 ?。?)如果兩個(gè)都是字符串,每個(gè)位置的字符都一樣,那么相等,否則不相等。

 ?。?)如果兩個(gè)值都是true,或是false,那么相等

 ?。?)如果兩個(gè)值都引用同一個(gè)對(duì)象或是函數(shù),那么相等,否則不相等

  (6)如果兩個(gè)值都是null,或是undefined,那么相等

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 前言 關(guān)鍵詞:==、===、JS、JavaScript、TypeScript、Cocos、比較判斷 簡單來說:==...
    博毅創(chuàng)為游戲圈閱讀 70評(píng)論 0 0
  • 簡單來說: == 代表相同, ===代表嚴(yán)格相同(數(shù)據(jù)類型和值都相等)。 【理解原理】: 當(dāng)進(jìn)行雙等號(hào)比較時(shí)候,先...
    游戲開發(fā)大表哥閱讀 510評(píng)論 1 1
  • 簡單來說: == 代表相同, ===代表嚴(yán)格相同, 為啥這么說呢, 這么理解: 當(dāng)進(jìn)行雙等號(hào)比較時(shí)候: 先檢查兩個(gè)...
    手指樂閱讀 144評(píng)論 0 1
  • 簡單來說: == 代表相同, ===代表嚴(yán)格相同, 為啥這么說呢, 這么理解: 當(dāng)進(jìn)行雙等號(hào)比較時(shí)候: 先檢查兩個(gè)...
    玥玥籽閱讀 342評(píng)論 0 0
  • 簡單來說: == 代表相同, ===代表嚴(yán)格相同, 為啥這么說呢, 這么理解: 當(dāng)進(jìn)行雙等號(hào)比較時(shí)候: 先檢查兩個(gè)...
    溫柔如雪閱讀 193評(píng)論 0 1

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