布尔数据类型
只有两个值 true/false
把其他类型值转换为布尔类型
只有0 NaN ‘’ null undefeind
这五个值会转换为false 其余都会转换为true 没有特殊情况
- boolean
console.log(Boolean(0));
console.log(Boolean(undefined));
console.log(Boolean(null));
console.log(Boolean(''));
console.log(Boolean(' ')); //true
console.log(Boolean([])); //true
- !/!! 取反 先转换为bool类型 然后取反
!!取反再取反
console.log(!1); //false
console.log(!!1); //true
- 条件判断
如果条件只是一个值 把这个值先转换为布尔类型 然后验证真假
if(1){
console.log('hello world');
}
if('3px'+3){
// 字符串拼接 '3px3' 然后转换为boolean 不是那5个 是true
console.log('zzz');
}
if('3px'-3){
// 算数运算 3px经过Number是NaN -3还是NaN 转换为boolean 是false
console.log('ppp');
}