起首晓得下能够转换成false的值
- null 注:localStorage.getItem() 与 sessionStorage.getItem() 猎取一个不存在的值返回的也为null
- NaN
- 0
- 空字符串 ” “
- undefined
推断前提返回true或许false
if (a && a.master && a.master.name) {} // 假如这三个属性都为true值,实行if逻辑
if (a || b) {} // 假如a或许b为true值,实行if逻辑。
if(a || b && c) // 此时须要注重运算递次 是先算 a||b 然后运用它的值 && c
if(a || (b && c)) //注重(b && c)
推断并返回前提对象
- && 推断中,推断值都为 true,返回末了一个推断值;推断值中有 false
值,返回第一个 false 值。
- || 推断中,推断值都为 true,返回第一个推断值;推断值中有 true 值也有 false 值,返回第一个为 true 的推断值;假如推断值都为 false,返回末了面的 false 值。
运用两个非
两个感叹号会确保参数为非值时只能为false或许true,不会是0、空字符串、undefined等非值。
n1 = !!true // 返回 true
n2 = !!{} // 返回 true: 任何对象都是true,空对象也是
n3 = !!(new Boolean(false)) // 返回 false
n4 = !!false // 返回 false
n5 = !!"" // 返回 false
n6 = !!Boolean(false) // 返回 false