Javascript 回来(proto==null | | proto.constructor==Object);
只是想了解一下,下面这行应该返回什么&如果Javascript 回来(proto==null | | proto.constructor==Object);,javascript,Javascript,只是想了解一下,下面这行应该返回什么&如果proto.constructor=Object return !!( proto === null || proto.constructor === Object ); 更具体地说,如何有效?它将返回一个布尔值:true或false用作双重翻转:如果值为false,则将其翻转为true,然后将其翻转回false。基本上,拥有与没有相同 如果proto===null或proto.constructor===Object,则为True 错误iffprot
proto.constructor=Object
return !!( proto === null || proto.constructor === Object );
更具体地说,如何
代码>有效?它将返回一个布尔值:true或false<代码>代码>用作双重翻转:如果值为false,则将其翻转为true,然后将其翻转回false。基本上,拥有代码>与没有相同代码>
如果proto===null
或proto.constructor===Object
,则为True
错误iffproto!==null
和proto.constructor!==对象
因此,如果proto.constructor=Object,它将返回true。类型错误。因为proto未定义且不等于null,所以js将尝试从proto获取不存在的属性“constructor”。运算符
如果其单个操作数可以转换为true,则返回false;否则,返回true。(MDN)
是一种表示“确保我们返回一个布尔值,并将所有truthy值转换为true
,将所有falsy值转换为false
”的快捷方式。具体取决于您将其放在何处。还有什么proto
是我为什么会获得很多反对票的原因呢?@RuntimeException“How!!works”在SO之前已经被问过并回答过了。此外,我们不知道什么是“原型”,你在哪里定义它?(顺便说一句,我没有投反对票,但我投了接近票,因为你们在这里不清楚)代码>在这里是完全无用的,因为表达式总是返回布尔值(或抛出异常)。你怎么知道proto
没有定义?当然,问题没有定义它。然而,我认为你所说的typeError
,是指ReferenceError
。具体来说,ReferenceError:proto没有定义
。所讨论的代码显然只是脚本的一部分,其中可能定义了proto
。@meagarreturn
甚至在ReferenceError
@C5H8NNaO4 Ah,true之前都会导致SyntaxError
。你已经超越了我。