return !!(proto === null || proto.constructor === Object);

时间:2013-10-02 11:31:23

标签: javascript

只是想了解一下,应该跟随行返回&如果proto.constructor = Object

return !!( proto === null || proto.constructor === Object );

更具体地说,!!如何运作?

3 个答案:

答案 0 :(得分:1)

它将返回一个布尔值:true或false。 !!用作双重翻转:如果值为false,则将其翻转为true,然后将其翻转为false。基本上,!!与没有!!相同。

如果proto === nullproto.constructor === Object,则为真。

如果proto !== nullproto.constructor !== Object,则为假。

因此,如果proto.constructor = Object,它将返回true。

答案 1 :(得分:1)

! (Logical NOT)运算符

  

如果单个操作数可以转换为true,则返回false;否则,返回true。(MDN)

答案 2 :(得分:-3)

typeError。因为proto没有被定义而且不等于null所以js会尝试从proto获取不存在的属性“constructor”。