Boolean 类型
Boolean
类型是ECMAScript中使用的最多的一种类型,该类型只有两个字面值:true
和false
。
这两个值与数值值不是一回事,因此true
不一定等于1,而false
也不一定等于0.以下是为变量赋Boolean
的例子:
var found = true;
var lost = lost;
需要注意的是,Boolean
类型的字面值true
和false
是区分大小写的。也就是说,True
和False
(以及其他的混合大小写)都不是Boolean
值,指示标识符。
虽然Boolean
类型的字面值只有两个,但ECMAScript中所有类型的值都有与这两个Boolean
值等价的值。要将一个值转换为其对应的Boolean
值,可以调用转型函数Boolean()
,如下所示:
var message = "Hello world!";
var messageAsBoolean = Boolean(message);
**
Boolean
**
-
ture
(true
) -
false
(false
)
String
- 任何非空字符串(
true
) - " "(空字符串)(
false
)
Number
- 任何非零数字值(包括无穷大)(
true
) - 0 和
NaN
(false
)
Object
- 任何对象 (
true
) -
null
(false
)
Undefined
-
n/a
(not applicable 不适用) - undefined(
false
)
这些转换规则对理解流控制语句(如if
语句)自动执行相应的Boolean
转换非常重要,请看下面的代码:
var message = "Hello world!";
if(message){//message被自动转换成了对应的`Boolean`值`true`
alert("Value is ture"); //Value is ture
}
因此确切地知道在流控制语句中使用的是什么变量至关重要。错误的使用一个对象而不是一个Boolean
值,就有可能彻底改变应用程序对的流程。