除了指示显式转换之外,在 JavaScript 中使用双非运算符有什么好处吗?似乎这些天来,人们喜欢使用 double not 检查新 API 的存在,但我从来没有读过它的任何优点。
if(!!window.File)
// The File API is supported.
else
// Your browser sucks.
我读过的一件事是,这是一种将类型强制转换为布尔值的简洁、晦涩的方法,但是,当在这种情况下使用时,对象将自动强制转换为布尔值,因为我们正在检查它是否已定义。
简而言之,为什么人们要在引擎之上进行两次布尔运算?