在JavaScript中,对一般类型判空,我会使用双叹号
"!!"一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;
const demo = null; if (!!demo) { console.log(true) }else { console.log(false) } // output: false
在对于 object 类型,会存在一些问题,如:
const demo = {a: null} if (!!demo) { console.log(true) }else { console.log(false) } // output: true
以上代码,会输出true
。如果想要判断demo.a
为空,需要:
const demo = {a: null} if (!!demo.a) { console.log(true) }else { console.log(false) } // output: false