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() ,如下例所示:
var message = “Hello world!”;
var messageAsBoolean=Boolean(message);
在這個例子中,字符串 message 被轉換成了一個 Boolean 值,該值被保存在messageAsBoolean 變量中。可以對任何數據類型的值調用 Boolean() 函數,而且總會返回一個 Boolean 值。至于返回的這個值是 true 還是 false ,取決于要轉換值的數據類型及其實際值。下表給出了各種數據類型及其對應的轉換規則。
圖片發自Web前端精髓
這些轉換規則對理解流控制語句(如 if 語句)自動執行相應的 Boolean 轉換非常重要,請看下面的代碼:
var message = “Hello world!”;
if(message){
alert(“Value istrue”);
}
運行這個示例,就會顯示一個警告框,因為字符串 message 被自動轉換成了對應的Boolean 值( true )。由于存在這種自動執行的 Boolean 轉換,因此確切地知道在流控制語句中使用的是什么變量至關重要。錯誤地使用一個對象而不是一個 Boolean值,就有可能徹底改變應用程序的流程。