天天看點

JS進階 03-11 資料類型-Boolean類型

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");
}      

繼續閱讀