=是賦值符號(hào)入客,用來(lái)聲明一個(gè)變量。==和===都是比較運(yùn)算符窖式,返回結(jié)果為布爾值蚁飒。
在number、string萝喘、boolean等基礎(chǔ)類型間的比較時(shí)淮逻,分為同類型和不同類型間的比較
1.同類型相比較時(shí),直接進(jìn)行符號(hào)兩邊的 ‘值’ 比較阁簸,看符號(hào)兩邊的值是否相同
// 值相同爬早,類型無(wú)所謂
console.log(1 == '1') //ture 只進(jìn)行值的比較
console.log(1 == 2) //false 只進(jìn)行值的比較
// 值相同并且數(shù)據(jù)類型相同
console.log('1' === '1')//ture 既進(jìn)行值的比較,又進(jìn)行類型的比較
console.log('1' === '2')// false 既進(jìn)行值的比較启妹,又進(jìn)行類型的比較
2.不同類型
== 比較: 是轉(zhuǎn)化為同一數(shù)據(jù)類型后筛严,值進(jìn)行比較
=== 比較: 在進(jìn)行比較時(shí),必須數(shù)據(jù)類型相同 且 符號(hào)兩邊大的值也相同才可得到 ture (不會(huì)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換)
console.log(1 == '1')//ture 只進(jìn)行值的比較
console.log(1 === '1')//false 先進(jìn)行類型轉(zhuǎn)換饶米,然后進(jìn)行值的比較桨啃。
復(fù)雜數(shù)據(jù)類型
在復(fù)雜數(shù)據(jù)類型,數(shù)組和對(duì)象中檬输,兩者沒(méi)有區(qū)別照瘾,因?yàn)樵趶?fù)雜數(shù)據(jù)類型中,進(jìn)行的都為指針地址的比較丧慈。
NaN 是什么析命?NaN == NaN ?
NaN 是一個(gè)數(shù)字類型,但不是個(gè)數(shù)字逃默,也就是說(shuō)它無(wú)法具體表示出來(lái)鹃愤, 就像我們數(shù)學(xué)學(xué)習(xí)時(shí)說(shuō)的“沒(méi)有意義”,因此完域, NaN = = NaN 和 NaN = = = NaN 結(jié)果都為 false
console.log(NaN == NaN)//false
console.log(NaN === NaN)//false
/*例如 將字母A和字母B轉(zhuǎn)換成數(shù)字類型之后软吐,返回值都為 NaN,但是兩者當(dāng)中的值依舊是不同的吟税,只是數(shù)據(jù)類型相同而已*/
console.log(Number('A'))//NaN
console.log(Number('B'))//NaN