1. 程式人生 > >JS中的Boolean基本型別與包裝型別

JS中的Boolean基本型別與包裝型別

boolean是都用過的型別,有基本型別和包裝型別,之前寫過一段程式碼,不知道錯在哪裡,後來翻閱書籍才知道原因

var falseObject = new Boolean(false);//使用FALSE引數建立了一個Boolean型別的物件
console.log(falseObject.valueOf());//fasle
var result = falseObject && true;//true
console.log(result);//true
var falseValue=false;//
var result=falseValue&&true;//false
console
.log(result);//fasle
fasleObject=null;
var result = falseObject && true;//true
console.log(result);//true

console.info(typeof falseObject);//object
console.log(typeof falseObject);//boolean
console.log(falseObject instanceof Boolean);//true
console.log(falseValue instanceof Boolean);//true

上面的程式碼輸出之後會分別顯示true和false,因為在falseObject用做邏輯運算的時候,所有的物件都會被轉換成true,即使這個物件是null,也會被轉化成true,這也解釋了null是一個空物件的引用,並不是一個基本的資料型別。