如果JavaScript预期某个位置应该是布尔值,则会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。
- undefined
- null
- false
- 0
- NaN
- ""或’’(空字符串)
需要特别注意的是,空数组([])和空对象({})对应的布尔值,都是true。
let a = 0
let b = ''
let c = ""
let c2 = " "
let d = NaN
let e = undefined
let f = null
let j = false
let h = []
let i = {}
console.log('a:', Boolean(a))
console.log('b:', Boolean(b))
console.log('c:', Boolean(c))
console.log('c2:', Boolean(c2))
console.log('d:',Boolean(d))
console.log('e:',Boolean(e))
console.log('f:',Boolean(f))
console.log('j:',Boolean(j))
console.log('h:',Boolean(h))
console.log('i:',Boolean(i))