JS Boolean 类型

🌙
手机阅读
本文目录结构

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() ,如下例所示:

var message = "Hello world!";
var messageAsBoolean = Boolean(message);

在这个例子中,字符串 message 被转换成了一个 Boolean 值,该值被保存在 messageAsBoolean 变量中。

可以对任何数据类型的值调用 Boolean() 函数,而且总会返回一个 Boolean 值。至于返回的这个值是 true 还是 false ,取决于要转换值的数据类型及其实际值。

下表给出了各种数据类型及其对应的转换规则。

真假数据类型

数据类型 转换为 true 的值 转换为 false 的值
Boolean true false
String 任何非空字符串 "" (空字符串)
Number 任何非零数字值(包括无穷大) 0 和 NaN
Object 任何对象 null
Undefined n/a undefined

① n/a(或 N/A),是 not applicable 的缩写,意思是“不适用”。

注意上面这些为 false 的值一定一定要记牢固!非常重要!!!

这些转换规则对理解流控制语句(如 if 语句)自动执行相应的 Boolean 转换非常重要,

请看下面的代码:

var message = "Hello world!";
if (message){
    alert("Value is true");
}

运行这个示例,就会显示一个警告框,因为字符串 message 被自动转换成了对应的 Boolean 值( true )。

由于存在这种自动执行的 Boolean 转换,因此确切地知道在流控制语句中使用的是什么变量至关重要。

错误地使用一个对象而不是一个 Boolean 值,就有可能彻底改变应用程序的流程。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了