容易出錯的“布爾值”判斷

基本類型中的布爾類型,取值只有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版)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章