在前一篇文章《javascript 逻辑与(&&) 和 逻辑或(||) 的骚操作》中有说 逻辑与 和 逻辑或 运算符的非常规使用方式,今天说一说 逻辑非(!)运算符的使用。
见下表,官方对 ! 运算符的说明
运算符 | 语法 | 说明 |
逻辑非,NOT(!) | !expr | 若 expr 可转换为 true,则返回 false;否则,返回 true。 |
先简单的看一下 ! 的使用
/* 逻辑非运算符 */
!true //false
!function(){} //false
!0 //true
!"" //true
如上代码,逻辑非很好理解。
重点来了,该是主菜上桌。
经常看到大佬们的代码有这样的操作。
!!variate
非常好奇,使用一个 ! 运算符我见过,两个是什么意思呢?
其实是比较容易理解的,! 是将原来的值转为 布尔值 再取反,使用两次 ! 运算,是将转为 布尔值 的 值再次取反,得到非取反的布尔值。。。。。emmmmm小编觉得一点也不绕,但不想再解释什么,直接上代码。
!!1 //true
!!"helang" //true
!!"" //false
这样就能非常快速的将值转为 布尔类型 的值。相比通过 if 条件运算符 来实现相同的功能要快得多,也不会在今后看到大佬的操作持续懵B。
在文章的结尾,奉上本篇文章的姐妹篇《javascript 逻辑与(&&) 和 逻辑或(||) 的骚操作》的传送门
传送地址:https://blog.csdn.net/u013350495/article/details/90732645
作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com
公众号:
web-7258
,本文原创,著作权归作者所有,转载请注明原链接及出处。更多精彩文章,请扫下方二维码关注我的公众号