JS中!和!!的用法

87 阅读1分钟

总述:!是 逻辑与 运算,可以对变量进行逻辑与转化为布尔值,!!则是逻辑与的取反运算

!的用法

!可将变量转换成boolean类型,null,undefined和空字符串取反都为false,其余都为true

!undefined --> true
!null	   --> true 
!'' 	   --> true
!0 	   --> true
!NaN 	   --> true
!100       --> false
!'abc' 	   --> false

!!的用法

!!常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算,如下两个判断都能达到一样的效果:

//判空
var test;
if(test!=null && typeof(test)!='undefined' && test!='' && test!=0 && test!=NaN){
    //...
}

等价于
||
等价于

//!!判空
if(!!test){
     //...
}