Boolean類型是與布爾值對應的引用類型。如果要創建Boolean對象,語法如下:
var booleanObject = new Boolean(true);
Boolean類型的實例重寫了valueOf()方法,返回基本類型true或false;重寫了toString()方法,返回字符串"true"和"false"。
1.基本類型與引用類型
基本類型本質是boolean類型,而引用類型本質是對象,下面用代碼來說明二者區別。
1 <script> 2 var falseObj = new Boolean(false); 3 var result = falseObj && true;//這里是針對falseObj這個變量,即是new Boolean(false)整體而言,並非是對象的值,定義布爾表達式的所有對象都會被轉換為true 4 console.log(result);//true 5 console.log(falseObj instanceof Boolean);//true,返回true的原因是:Boolean對象是Boolean的實例 6 console.log(falseObj);//此處的值仍然是false 7 console.log(typeof falseObj);//object 8 9 var falseVal = false; 10 result = falseVal && true;//此處直接是false邏輯與true,結果必為false 11 console.log(result);//false 12 console.log(falseVal instanceof Boolean);//false,基本類型不是Boolean類型的實例 13 console.log(typeof falseVal);//boolean 14 </script>
實際在使用的過程中,很少會去用Boolean對象去處理問題,直接使用基本類型簡單、高效。
2.Boolean對象值為false的6種情況
(1)0
(2)NaN
(3)false
(4)""字符串為空
(5)null
(6)undefined