手记

js 一个两个三个感叹号区别

今天看到一个前辈使用了三个感叹号来判断值,就查了一下,综合了几篇文章的观点

1、一个感叹号

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

!null=true

!undefined=true

!''=true

!100=false

!'abc'=false

2、两个感叹号

!!常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算

let a;

if(a!=null&&typeof(a)!=undefined&&a!=''){

    //a有内容才执行的代码  

}

if(!!a){

    //a有内容才执行的代码...  

}

上面两种写法实现的功能一样,下面一种明显更简单

3、三个感叹号

三个感叹号没有什么意义,和一个感叹号的效果是一样的。一般他们认为!!表示将一个变量转为boolean型,再加一个!是对boolean型取反,和!false或者!true一样。

本文转载自:https://blog.csdn.net/lx_1024/article/details/79807228

0人推荐
随时随地看视频
慕课网APP