js中变量为null,undefined和空串的判断方法
let a;
if(a!=null&&typeof(a)!=undefined&&a!=''){
//a有内容才执行的代码
}
之前判断变量a为非空,未定义或者非空串才能执行以上方法体的内容,这样的代码看着很臃肿,代码也很冗余!
实际上我们只需要写一个判断表达以下:
if(!!a){
//a有内容才执行的代码
}
这样就可以和最上面达到同样的效果。a是有实际含义的变量才执行方法,否则变量null,undefined和空串都不会执行以下代码。
引申
! 是逻辑与运算,并且可以与任何变量进行逻辑与将其转化为布尔值;
!! 则是逻辑与的取反运算。
后者在判断类型时代码简洁高效,省去了多次判断null、undefined和空字符串的冗余代码,
所以后期使用用尽量使用 !!