天天看點

JavaScript資料類型 - Boolean類型

Boolean類型

Boolean類型是JavaScript中使用的最多的一種類型,該類型隻有兩個字面值:true和false。這兩個值與數字值不是一回事,是以true不一定等于1,而false也不一定等于0。以下是為變量指派Boolean類型值的例子:

var found = true;
var lost = false;
           

需要注意的是Boolean類型的字面值true和false是區分大小寫的。也就是說True和False(或者其它混合大小寫形式)都不是Boolean類型的值,隻是辨別符。

雖然Boolean類型的字面值隻有兩個,但ECMAScript中所有類型值,都有于這兩個Boolean值等價的值。要将一個值轉換為其對應的Boolean值,可以調用類型轉換函數Boolean(),如下所示:

var msg = 'hello world';
var msgAsBool = Boolean(msg);
console.log(msgAsBool);//true
           

在這個例子中,字元串msg被轉換成了Boolean值,該值被儲存在msgAsBool變量中。可以對任何資料類型的值調用Boolean()函數,而且總會傳回一個Boolean值,至于傳回的是true還是false,取決于要轉換值的資料類型及其實際值。下表給出了各種資料類型及其對應的轉換規則。

資料類型 轉換為true的值 轉換為false的值
Boolean true false
String 任何非空字元串 空字元串
Number 任何非零的數值(包括無窮大) 0和NaN
Object 任何對象 null
Undefined undefined

這些轉換規則對了解流控制語句自動執行相應的Boolean轉換非常重要,看下面的代碼:

var msg = 'hello world';
if(msg){
    console.log('value is true');
}
           

運作這段代碼,就會顯示一個列印輸出 value is true,因為字元串msg被自動轉換成了對應的Boolean值true,由于存在這種自動執行的Boolean轉換,是以确切的知道在流控制語句中使用的是什麼變量至關重要。錯誤使用一個對象而不是一個Boolean值,就有可能徹底改變應用程式流程。