====================本系列文章沒有什麼高深的理論====================
====================純粹是以一個菜雞的視角來分享====================
在兩個等號 ==
的比較運算式下,若是雙方的資料類型不同時,則會進行「自動轉型」,那麼今天就來說說自動轉型的規則。
true
轉為「數字」的 1
,如果是 false
則會變成「數字」的 0
。
Number()
嘗試轉型為數字後,才進行比較。
valueOf()
取得對應的基本型別的值,才進行比較。
NaN
不等於 NaN
,這個在 ==
或是 ===
的結果都是相同的。
true
。
false == 0 // true
true == 0 // true
[] == [] // false
[] == ![] // true
===
與 ==
,雖然都是比較的意思,但很多人以為只有 ===
會檢查型別,而 ==
不會檢查型別,但其實並不是這樣,而是 ===
「不會」對數值做自動轉型,==
「會」做自動轉型。
今日的分享就到這囉,我們明天見,掰掰!