JavaScript数据类型 - Boolean类型

Boolean类型

Boolean类型是JavaScript中使用的最多的一种类型,该类型只有两个字面值: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 msg = 'hello world';
var msgAsBool = Boolean(msg);
console.log(msgAsBool);//true

在这个例子中,字符串msg被转换成了Boolean值,该值被保存在msgAsBool变量中。可以对任何数据类型的值调用Boolean()函数,而且总会返回一个Boolean值,至于返回的是true还是false,取决于要转换值的数据类型及其实际值。下表给出了各种数据类型及其对应的转换规则。

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 空字符串

Number

任何非零的数值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined undefined

这些转换规则对理解流控制语句自动执行相应的Boolean转换非常重要,看下面的代码:

var msg = 'hello world';
if(msg){
    console.log('value is true');
}

运行这段代码,就会显示一个打印输出 value is true,因为字符串msg被自动转换成了对应的Boolean值true,由于存在这种自动执行的Boolean转换,因此确切的知道在流控制语句中使用的是什么变量至关重要。错误使用一个对象而不是一个Boolean值,就有可能彻底改变应用程序流程。

猜你喜欢

转载自blog.csdn.net/lixiaosenlin/article/details/108277149