Bootstrap

!和!!的区别和用法

JavaScript中!和!!的区别和用法

  • !可将变量转换为Boolean类型,能够把null、undefined和空字符串强制转换为ture,也可以用作Boolean的取反
!null --->  true
!undefined --- > true
!'' ---> true
!true ---> false
!false ---> true
  • !!常常用来做类型判断,在!强制转换后进行取反

例如:

当你不确定一个变量的类型时,并且该变量不希望为null、undefined 、''时,之前会这样:
if(XXX!=null && typeof(XXX)!=undefined && XXX!=''){
    //逻辑代码
}
现在可以利用!! :
if(!!XXX) {
//逻辑代码
}
;