不要(!!)在这个条件下



注意:它实际上是if(!!condition)和if(condition)

有什么区别?

虽然我明白什么是!!表示(double not),出于同样的原因,它在MDN文档中的使用对我来说没有意义:

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

在这种情况下,这不是完全相同的吗?

if (window.Worker) {
...
}

转换为布尔值对我来说没有意义,因为if只会在window.Worker存在的情况下执行。说它是if()条件的TrueObject(我认为)是一样的。

那么,为什么这里使用!!呢?或者,为什么window.Workerif()中被强制转换为布尔值?

是完全一样的。没什么可补充的。

它可能被用来强调window.Worker属性(预期是一个函数)被强制转换为布尔值以检测其存在,而不是看起来像一个被遗忘的()调用。不管怎样,它现在已经消失了。

相关内容

  • 没有找到相关文章

最新更新