【发布时间】:2019-09-08 16:21:39
【问题描述】:
伙计们!
我正在尝试列出使用new 关键字创建实例时幕后发生的情况。
这是我的代码的样子
function F() {}
let f1 = new F()
f1.__proto__
到目前为止,我的理解是当使用new 时,会创建一个包含以下两件事的新对象
{
constructor: f <-- this is the constructor function F(), referring to itself
__proto__: Object <-- since this is not sub-classing any other Object, every object except Object inherits from Object.prototype
}
这种理解正确吗?
当我运行它时,我在 Google Developer Console 中得到以下信息
Value below was evaluated just now 是什么意思?
谢谢
【问题讨论】:
-
正是它所说的。您登录到控制台的对象刚刚被评估,它可能会显示与登录到控制台时不同的值。快速(重新)搜索也可以解释该消息。
-
f1.__proto__将设置为F.prototype,即Object,因为它尚未设置为其他任何值。
标签: javascript prototype developer-console