JavaScript 中 Boolean類型
Boolean(布爾值)類型是ECMAScript中使用最頻繁的類型之一,有兩個(gè)字面值:true和false。這兩個(gè)布爾值不同于數(shù)值,因此true不等于1,false不等于0。下面是給變量賦布爾值的例子:
布爾值字面量true和false是區(qū)分大小寫的,因此True和False(及其他大小混寫形式)是有效的標(biāo)識符,但不是布爾值。
雖然布爾值只有兩個(gè),但所有其他ECMAScript類型的值都有相應(yīng)布爾值的等價(jià)形式。要將一個(gè)其他類型的值轉(zhuǎn)換為布爾值,可以調(diào)用特定的Boolean()轉(zhuǎn)型函數(shù):
在這個(gè)例子中,字符串message會(huì)被轉(zhuǎn)換為布爾值并保存在變量messageAsBoolean中。
Boolean()轉(zhuǎn)型函數(shù)可以在任意類型的數(shù)據(jù)上調(diào)用,而且始終返回一個(gè)布爾值。什么值能轉(zhuǎn)換為true或false的規(guī)則取決于數(shù)據(jù)類型和實(shí)際的值。
下表總結(jié)了不同類型與布爾值之間的轉(zhuǎn)換規(guī)則。

在這個(gè)例子中,console.log會(huì)輸出字符串"Value is true",因?yàn)樽址甿essage會(huì)被自動(dòng)轉(zhuǎn)換為等價(jià)的布爾值true。由于存在這種自動(dòng)轉(zhuǎn)換,理解流控制語句中使用的是什么變量就非常重要。錯(cuò)誤地使用對象而不是布爾值會(huì)明顯改變應(yīng)用程序的執(zhí)行流。
標(biāo)簽: