对象
是一个函数
Object.prototype
是一个对象,其构造函数是 Object
本身。
但是Object()
是什么?
有人可以解释一下为什么这个语句输出true
Object.prototype.__proto__ === Object().__proto__.__proto__
最佳答案
But what is Object()?
评估 Object()
会根据对象原型(prototype)生成一个新的空对象。
can some explain why this statement outputs true
Object.prototype.__proto__ === Object().__proto__.__proto__
Object()
生成一个基于 Object 原型(prototype)的新对象。对于从特定原型(prototype)创建的对象,__proto__
是对该原型(prototype)的引用。
因此,Object.prototype
和 Object().__proto__
都引用相同的值:
console.log(Object.prototype === Object().__proto__)
由于它们都指的是同一事物,因此上面的等式表达式也是正确的。 (顺便说一句,Object.prototype.__proto__
是 null
,因此它也等于任何其他 null
值)。
关于javascript - JavaScript 中的原型(prototype)和 __proto__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48359101/