-3

只是想了解,接下来应该返回什么以及如果如何proto.constructor = Object

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

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

4

3 回答 3

1

!逻辑非)运算符

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

于 2013-10-02T11:43:43.613 回答
1

它将返回一个布尔值:true 或 false。!!用作双重翻转:如果一个值为假,则将其翻转为真,然后将其翻转回假。基本上,有!!和没有是一样的!!

如果proto === null或为真proto.constructor === Object

假 iffproto !== nullproto.constructor !== Object.

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

于 2013-10-02T11:33:05.747 回答
-3

类型错误。因为 proto 未定义且不等于 null,所以 js 将尝试从 proto 中获取不存在的属性“constructor”。

于 2013-10-02T11:33:43.490 回答