boolean布尔数据类型
只有两个值 true / false
把其他类型值转化为布尔类型
只有 0 、NaN 、’ ’ 、null 、undefined 五个值转换为false ,其余都转换为TRUE(而且没有任何的特殊情况)
- Boolean( [ val ] )
console.log(Boolean(0));//false
console.log(Boolean(''));//false
console.log(Boolean(' '));//true 有空格,不是空字符串
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean([]));//true
console.log(Boolean([12]));//true
console.log(Boolean([-1]));//true
- ! / !!
//!:取反(先转为布尔类型,然后取反)
//!:取反再取反,只相当于转换为布尔 <=> Boolean
console.log(!1);//false
console.log(!!1);//取反再取反,相当于没取反,还是true
- 条件判断
//如果条件只是一个值,不是== / === /!= / >=等这些比较,是要把这个值先转换为布尔类型,然后验证真假
if (1) {//true
console.log("haha");
}
if('3px'+3) {
//=>'3px3'
console.log("呵呵");
}
if('3px'-3) {
//=>'NaN-3=NaN' ->false
console.log("嘿嘿");
}