js中布爾值為false的六種情況
阿新 • • 發佈:2019-03-14
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的六種情況