javascript – 如果条件内部不是(!!)

参见英文答案 > Why is the !! preferable in checking if an object is true?                                     3个
注意:它实际上是What is the difference between if(!!condition) and if(condition)的副本

虽然我理解what the !! means (double not),但出于同样的原因,对我使用in the MDN documentation是没有意义的:

if (!!window.Worker) {
...
}

对于这种情况,这不完全相同吗?

if (window.Worker) {
...
}

对于我来说,转换为boolean是没有意义的,因为只有在window.Worker存在时才会执行if.要说if()条件(我认为)是真的或对象是相同的.

那么,为什么!!用在这里?或者,为什么window.Worker在if()内部转换为boolean?

解决方法:

是的,它完全一样.没有什么可补充的.

它可能用于强调window.Worker属性 – 期望是一个函数 – 被强制转换为布尔值以检测其存在,而不是看起来像被遗忘的()调用.无论如何,it is now gone.

上一篇:是什么 !! (不是)JavaScript中的运算符?


下一篇:php – 假阵列切片运算符:缩短运算时间