概述
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转换非常重要,请看下面的代码:
03-11BooleanExample02.html
var message = "Hello world!";
if (message) {
console.log("Value is true");
}
运行这个示例,就会显示一个警告框,因为字符串message被自动转换成了对应的Boolean值(true)。由于存在这种自动执行的Boolean转换,因此确切地知道在流控制语句中使用的是什么变量至关重要。错误地使用一个对象而不是一个Boolean值,就有可能彻底改变应用程序的流程。
最后
以上就是帅气发夹为你收集整理的JS高级 03-11 数据类型-Boolean类型的全部内容,希望文章能够帮你解决JS高级 03-11 数据类型-Boolean类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复