有一天我在看MDN上对defineProperty的时候,有一段没看明白,所以就在浏览器上跑了一段这样的代码做调试
var Foo = function(){};Object.defineProperty(Foo.prototype,"x",{ get(){ return 3; } });var foo = new Foo();console.dir(foo);
我期待的结果应该是
Foo { __proto__:{ constructor: ƒ (), x: 3, __proto__: Object } }
但是真正的结果是
Foo { x: 3, __proto__:{ constructor: ƒ (), x: 3, __proto__: Object }}
为什么在最外层就已经出现了x属性呢?求大神和老师解惑
动漫人物
相关分类