JavaScript中的Boolean類型有2個值:true和false。
注意:JavaScript中嚴格區(qū)分大小寫彭羹,因此True或者其他大小寫形式都只是一個變量扯躺,而并非布爾值。
盡管在某些時候true會轉(zhuǎn)換為1悲靴,false為轉(zhuǎn)換為0,但是不能簡單認為true就是1莫其,而false就是0癞尚。
布爾值用在JavaScript中的條件語句、while循環(huán)語句中乱陡。但其實判斷條件時可以是JavaScript中的任何類型浇揩,如果條件語句不是布爾值,JavaScript會將其隱式轉(zhuǎn)換為布爾值憨颠,因此我們要掌握各種數(shù)據(jù)類型和布爾類型之間的轉(zhuǎn)換胳徽。
數(shù)據(jù)類型 | 轉(zhuǎn)化為true的值 | 轉(zhuǎn)換為false的值 |
---|---|---|
Number類型 | 除0和NaN之外的有效值 | 0、NaN |
String類型 | 除空字符串外的其他有效值 | ''或""(空字符串) |
Boolean類型 | false | true |
Null類型 | —— | null |
Undefined類型 | —— | undefined |
Object類型 | 所有對象 | —— |
因此爽彤,重點記住以下轉(zhuǎn)換為false的值:0养盗、NaN、undefined适篙、null往核、""(或'')
Boolean()
JavaScript提供了顯式轉(zhuǎn)換為布爾值的方式——即Boolean()轉(zhuǎn)型函數(shù),轉(zhuǎn)換規(guī)則同上表嚷节。
除此之外,我們還可以使用JavaScript的雙邏輯非操作符來達到和上表一樣的效果。
console.log(!!null); // false
console.log(!!0); // false
console.log(!!{}); // true
console.log(!!""); // false
console.log(!!'abc'); // true