知识点
- !!:就是强制把一个变量的数据类型转成布尔值;
- 转换成布尔类型为 false 的值有:0、-0、''、undefined、false、NaN、null;
- 空数组、空对象转成布尔值时是 true,因为对象是引用类型,里面存储的是引用地址。
- NaN与任何数据做符号运算结果都为false
| 数据类型 | 转换为true的值 | 转换为false的值 |
|---|---|---|
| Boolean | true | false |
| String | 任何非空字符串 | 空字符串 |
| Number | 任何非零的数值(包括无穷大) | 0和NaN |
| Object | 任何对象 | null |
| Undefined | 无 | undefined |
注意点
//null 和 undefined 不能被隐式转换。
console.log(null==0)//false
console.log(null==undefined)//false