Allen Wirfs-Brock (2013-10-15T01:20:20.000Z)
domenic at domenicdenicola.com (2013-10-23T19:53:04.148Z)
On Oct 14, 2013, at 5:54 PM, Andrea Giammarchi wrote: > Allen my confusion is with o4 ... what happens once you re-set/assign its `__proto__` there? > > Is it just a normal property so new value will be set ? > Is it a magic inherited thing (it shouldn't) that will change the o4 prototype chain ? JSON.parse is just a function that builds up simple (inheriting from `Object.prototype`) objects using [[DefineOwnProperty]] See http://people.mozilla.org/~jorendorff/es6-draft.html#sec-24.3.2 step 3.a.iv.3.a. So if the JSON object text contains a `"__proto__"` property key, the object that is created with have a `"__proto__"` own data property. If it doesn't then the Annex B2.2.1 `Object.prototype__proto__` property is inherited. No magic involved.