var obj = {
flag: true
}
var test = !!obg.flag
等同于
var test =obj.flag || false
由于对null与undefined用!操作符时都会产生true的结果,所以用两个感叹号(!!)的作用就在于:
如果明确设置了obj中flag的值(非null,undefined,零,' '),则test就会和obj.flag取一样的值。
如果没有设置,test就会默认返回false,而不是null或者undefined。
var a = res.data
if (!!a) {
console.log(1)
}
等同于
if (a !== null || typeof a !== 'undefined' || a !==0 || a !== '') {
console.log(1)
}