JS中的數據類型是一種弱類型,所以在使用的時候如果沒有注意到肯能會出現一些細節的問題。
案例分析:
if(car && type){
console.log("hello world");
}
我在開發的時候需要判斷一個值是否爲0,比如if(car && type),其中Car爲對象,而type爲number類型,只有有兩個值1或者0,此時當type爲0是怎麼判斷都無法進入需要執行的條件。
捯飭了好久才發現是因爲有一些特殊的值在if判斷中他有着特殊的含義。
- ull和undefined都爲false
- 0 爲false
- “”爲false
- 同時在true和false在和負數比較的時候,會相應的把true轉換爲1,false轉化爲0
- == 是比較的內容,而===還要比較數據的類型,比如0==false會是true,而0===false則會使false,因爲一個是number類型,一個是boolean類型