Javascript 在新建之前是否有双重否定(!!)的具体用法?

Javascript 在新建之前是否有双重否定(!!)的具体用法?,javascript,Javascript,我理解双重否定的基本概念-转换为布尔-这是一个关于新的前具体使用的问题 我正在寻找一种检测blob支持的方法,在以下方面遇到了此检查: 试试{!!new Blob();}catch(e){return false;} 我在下面创建了一个示例来演示检查总是失败 window.onload=function() { var inputBox=document.getElementById('inputBox'); 试一试{ !!新Foo15514(); value='supported'; }捕获

我理解双重否定的基本概念-转换为布尔-这是一个关于新的前具体使用的问题

我正在寻找一种检测blob支持的方法,在以下方面遇到了此检查:

试试{!!new Blob();}catch(e){return false;}

我在下面创建了一个示例来演示检查总是失败

window.onload=function()
{
var inputBox=document.getElementById('inputBox');
试一试{
!!新Foo15514();
value='supported';
}捕获(e){
inputBox.value='不受支持';
}
}

在这种情况下,它确实是多余的。使用just将值强制转换为boolean

但是,您在该bug报告中读取的代码并不完整(就像输入错误)。它省略了实际含义的一个重要部分。如果选中,则图片看起来不同:

function test() {
    try {
        return !!new Blob();
    } catch (e) {
        return false;
    }
}

@michaelpri你读了第一句吗?我理解
。这是一个具体的问题之前,新的使用在样本显示。我不认为这是一个重复。OP明确表示他知道它是什么,但询问它在这种特殊情况下的目的/必要性!!此处不执行任何操作,因为
Foo1234()used@PatrickEvans-谢谢你的确认。可能引用中的代码片段刚刚脱离上下文。