- “!”可以与任何变量进行逻辑与将其转化为布尔值
- !!是将表达式强制转化为bool值的运算,运算结果为true或false,表达式是什么值,结果就是对应的bool值,不再取非。
判断变量a为非空,未定义或者非空串才能执行方法体的内容我们就可以用!!的方法来写,方便快捷
if(!!a){ //a有内容才执行的代码... }
代码中,!!a , 先将a转成取反的布尔值,将得到的布尔值再次取反,保证a的值为null,undefined和空字符串的情况下,if体中的代码不会执行。
!可将变量转换成boolean类型,null、undefined和空字符串都为false,其余都为true
!null=true !undefined=true !''=true !100=false !'abc'=false