js逻辑非同时两次使用 !!null

Posted 奔跑的铃铛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js逻辑非同时两次使用 !!null相关的知识,希望对你有一定的参考价值。

今天遇到了“!!null”的写法,百度没有找到直接的解释,翻书在《javascript高级设计》P44找到了相应的解释:

同时使用两个逻辑非操作符,实际上就会模拟Boolean()转型函数的行为。其中,第一个逻辑非操作符会基于无论什么操作数返回一个布尔值,而第二个逻辑非操作则对该布尔值求反,于是就得到了这个值真正对应的布尔值。当然最终结果与对这个值使用Boolean()函数效果相同。

所以其实个人认为,!!写法就是Boolean()的一种简便写法。

可以运行下面示例来更形象的了解:

alert(!!"blue");
alert(Boolean("blue"));

alert(!!null);
alert(Boolean(null));

  

如有错误,请您指出~

以上是关于js逻辑非同时两次使用 !!null的主要内容,如果未能解决你的问题,请参考以下文章

js 非布尔值操作 逻辑与 和 逻辑或*

JS基础-逻辑运算符

js中这些符号是啥意思:&,,===,!,++

js中这些符号是啥意思:&,,===,!,++

Chrome-Devtools代码片段中的多个JS库

js判断中出现两个!!是什么意思?