<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Oct 15, 2013 at 5:50 PM, Brendan Eich <span dir="ltr"><<a href="mailto:brendan@mozilla.com" target="_blank">brendan@mozilla.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Benjamin (Inglor) Gruenbaum wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Not resolving this like o3 (or o6 really) sounds very strange. I think:<br>
<br>
let attr = "__proto__";<br>
let o7 = new Object;<br>
o7[attr] = p; // o7 inherits from p<br>
<br>
Is the correct behavior here (why would it not invoke the setter?)<br>
</blockquote>
<br></div>
Allen confirmed, but just to be clear, any world where o["foo"] and do { let key = "foo"; o[key]; } (do-expression syntax from harmony-era strawman) differ is crazytown, and we do not go there.<span class="HOEnZb"><font color="#888888"><br>

</font></span></blockquote><div> </div><div>True, but the __proto__ train left the station bound for crazytown long ago...<br><br></div><div>So just to be clear, the only way to add a __proto__ property to an existing object is with Object.defineProperty?<br>

</div></div><br></div></div>