参见英文答案 > 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.