>>function Foo(){this.a = "a"}
>>var foo = new Foo()
>>Object.getOwnPropertyDescriptors(foo)
a: {value: "a", writable: true, enumerable: true, configurable: true}
__proto__: Object
>>foo.hasOwnProperty("__proto__")
false
我理解第8行的结果。
但是我认为foo中存储了一些信息告诉JS引擎哪个函数创建了foo。
也许foo有一个隐藏的属性告诉JS Engine Foo创建foo,或者可能有一个列表存储在内存中,记录Foo创建foo。
事实是什么? JS引擎如何知道foo是Foo的一个实例但没有数组?