JavaScript中的Boolean类型有2个值:true和false。
注意:JavaScript中严格区分大小写,因此True或者其他大小写形式都只是一个变量,而并非布尔值。
尽管在某些时候true会转换为1,false为转换为0,但是不能简单认为true就是1,而false就是0。
布尔值用在JavaScript中的条件语句、while循环语句中。但其实判断条件时可以是JavaScript中的任何类型,如果条件语句不是布尔值,JavaScript会将其隐式转换为布尔值,因此我们要掌握各种数据类型和布尔类型之间的转换。
数据类型 | 转化为true的值 | 转换为false的值 |
---|---|---|
Number类型 | 除0和NaN之外的有效值 | 0、NaN |
String类型 | 除空字符串外的其他有效值 | ''或""(空字符串) |
Boolean类型 | false | true |
Null类型 | —— | null |
Undefined类型 | —— | undefined |
Object类型 | 所有对象 | —— |
因此,重点记住以下转换为false的值:0、NaN、undefined、null、""(或'')
Boolean()
JavaScript提供了显式转换为布尔值的方式——即Boolean()转型函数,转换规则同上表。
除此之外,我们还可以使用JavaScript的双逻辑非操作符来达到和上表一样的效果。
console.log(!!null); // false
console.log(!!0); // false
console.log(!!{}); // true
console.log(!!""); // false
console.log(!!'abc'); // true