基本類型中的布爾類型,取值只有true和false,但是在某些布爾值判斷的情況下容易出錯,在看書回顧舊知識點的時候,順便也給總結了一些,若有不足,歡迎更正和補充!
1、空字符串 “”
2、數字 0
3、null
4、undefined
5、數字NaN
注意
1、NaN不等於任何東西,包括它自己
2、undefined 與 null 在 == 判斷時爲true
以上列舉出來的都是容易判斷錯誤的,並且也是特別不明顯的很可能造成bug的幾點。例如,在實際工作中,我們可能會遇到以下情況:
var a = testBoolean || 22;
console.log(a)
這行代碼的意思是,如果testBoolean已經存在並且有值,那麼a就等於testBoolean的值,否則,a等於22。
正常情況下都不會出錯,但如果testBoolean的值爲上述舉例的5種之一或false,那麼結果就不是我們想要的了。
var testBoolean = 0;
var a = testBoolean || 22;
console.log(a) //結果爲:22
所以當我們在實際使用過程中,要小心這5類判斷,考慮全面,避免產生不必要的bug。
參考書籍:
JavaScript面向對象編程指南(第2版)