var obj = {
flag: true
}
var test = !!obg.flag
等同于
var test =obj.flag || false
由于對(duì)null與undefined用!操作符時(shí)都會(huì)產(chǎn)生true的結(jié)果痢站,所以用兩個(gè)感嘆號(hào)(!!)的作用就在于:
如果明確設(shè)置了obj中flag的值(非null,undefined,零,' ')磷箕,則test就會(huì)和obj.flag取一樣的值。
如果沒有設(shè)置阵难,test就會(huì)默認(rèn)返回false岳枷,而不是null或者undefined。
var a = res.data
if (!!a) {
console.log(1)
}
等同于
if (a !== null || typeof a !== 'undefined' || a !==0 || a !== '') {
console.log(1)
}