Double Not运算符

时间:2014-04-01 11:31:59

标签: javascript boolean negation

我的时区下午好

我在一本书中看到了这行代码

!!(document.all && document.uniqueID);

为什么需要使用double not运算符?不要&& operator已经将结果转换为布尔值?

提前致谢 最好的问候

1 个答案:

答案 0 :(得分:2)

&&将返回document.uniqueID的值(如果document.all除了'false, null, undefined, 0, NaN之外的任何值,document.all && document.uniqueID

 for Example 45 === (true && 45) //true

来自mozilla.org

逻辑AND(&& amp;)expr1&& expr2如果可以转换为false,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,&&如果两个操作数都为真,则返回true;否则,返回false。

因此,有必要使用!!将上述表达式转换为Boolean