Boolean類型是ECMAScript中使用得最多的一種類型,該類型隻有兩個字面值:true和false這兩個值與數字值不是一回事,是以true不一定等于1,而false也不一定等于0。以下是為變量賦Boolean類型值的例子:
var found =true;
var lost = false;
需要注意的是, Boolean類型的字面值true和false是區分大小寫的。也就是說.True和False(以及其他的混合大小寫形式)都不是Boolean值,隻是辨別符。雖然Boolean類型的字面值隻有兩個,但ECMAScript中所有類型的值都有與這兩個Boolean值等價的值。要将一個值轉換為其對應的Boolean值,可以調用轉型函數Boolean(),如下例所示:
03-11BooleanExample01.html
var message = "Hello world!";
var messageAsBoolean = Boolean(message);
console.log(messageAsBoolean); // true
在這個例子中,字元串message被轉換成了一個Boolean值,該值被儲存在messageAsBoolear變量中。可以對任何資料類型的值調用
Boolean()
函數,而且總會傳回一個
Boolean
值。至于傳回的這個值是true還是false,取決于要轉換值的資料類型及其實際值。下表給出了各種資料類型及其對應的轉換規則。
資料類型 | 轉換為true的值 | 轉換為false的值 |
Boolean | true | false |
String | 任何非空字元串 | …(空字元串) |
Number | 任何非零數字值(包括無窮大) | 0和NaN |
Object | 任何對象 | null |
Undefined | N/A | 0和undefined |
這些轉換規則對了解流控制語句(如if語句)自動執行相應的Boolean轉換非常重要,請看下面的代碼:
var message = "Hello world!";
if (message) {
console.log("Value is true");
}