本文详解JavaScript中布尔类型true与false的基础用法,解析数值、null、NaN、undefined及空字符串等被解释为false的规则。介绍Boolean构造函数及Boolean()转型函数,并演示使用!!操作符将truthy或falsy值转换为布尔值的技巧。
JavaScript布尔值基础与转换规则
JavaScript中的两个基础的布尔类型的值: 1.true 2.false 布尔值 true 代表“真”,false 代表“假”。一般关系运算符会返回布尔值的结果。另外,数值的 0、-0、特殊值的 null、NaN、undefined 以及空字符("")都会被解释为 false ,其他值则会被解释为 true 。
function isMonth(mon) {
if ((mon >= 1) && (mon <= 12)) {
return true;
} else {
return false;
}
}
if (isMonth(mon)) {
alert("OK");
} else {
alert("请输入正确的月份。");
}
Boolean构造函数与转型函数
通过new Boolean(value)可生成布尔对象,将value设为初始值true或false。尽管JavaScript提供此构造函数以符合面向对象思想,但实际使用较少。ECMAScript规定所有类型都有对应的true或false等价值,调用Boolean()转型函数可将任意值转换为其对应的布尔值。
Boolean(NaN);//false
Boolean(0);//false
Boolean('');//false
Boolean(null);//false
Boolean(undefined)//false
可以使用!!操作符将truthy或falsy值转换为布尔值。
使用!!操作符进行类型转换
!!"" // false
!!0 // false
!!null // false
!!undefined // false
!!NaN // false
!!"hello" // true
!!1 // true
!!{} // true
!![] // true