手敲验证js中的!和!!
对于!和!!进行非空判断,网上有很多错误,直接进行手敲验证!
var a = !null
console.log('!null:', a)
var b = !undefined
console.log('!undefined:', b)
var c = !''
console.log("!'':", c)
var d = !123
console.log('!123', d)
var e = !'abc'
console.log("!'abc'", e)
var f = !false
console.log('!false', e)
var g = !'false'
console.log("!'false'", g)
var h = !'false'
console.log("!'false'", h)
var objEmpty = {}
var objNotEmpty = { id: '123' }
if (objEmpty) {
console.log('if对象为空')
}
if (objNotEmpty) {
console.log('if对象不为空')
}
if (!!objEmpty.id) {
console.log('!!undefined')
}
if (!!objNotEmpty.id) {
console.log('!!')
}
结果如下: