1. 程式人生 > >js中布爾值為false的六種情況

js中布爾值為false的六種情況

type 運算 例如 eve 註意 undefined class ini 雙引號

js中布爾值為false的六種情況

下面6種值轉化為布爾值時為false,其他轉化都為true

1、undefined(未定義,找不到值時出現)

2、null(代表空值)

3、false(布爾值的false,字符串"false"布爾值為true)

4、0(數字0,字符串"0"布爾值為true)

5、NaN(無法計算結果時出現,表示"非數值";但是typeof NaN==="number")

6、""(雙引號)或‘‘(單引號) (空字符串,中間有空格時也是true)

註意空數組空對象,負值轉的布爾值時都為true

數據類型 轉為true的值 轉為false的值
Boolean true false
String 任何非空字符串 ‘‘(空字符串)
Number 任何非零數字值(包括無窮大) 0和NaN
Object 任何對象 null
Undefined n/a undefined

對於0, ‘‘, null, undefined, NaN,{}, [], Infinity求布爾值,分別是false false false false false true true true.

因此我們知道的一點是:對象的布爾值是true,即使是對象{}。

"!!"將表達式進行強制轉化為bool值的運算,運算結果為true或者false。

例如 array=[1,2,3] array.num=undefind !array.num=true !!array.num=false

js中布爾值為false的六種情況