<div dir="ltr">"<span style="color:rgb(0,0,0);font-family:sans-serif;font-size:13px;line-height:19.1875px">a principle or rule established in a previous case</span>":<br><div><a href="http://en.wikipedia.org/wiki/Precedent">http://en.wikipedia.org/wiki/Precedent</a><br>
</div><div><br></div><div style>I should not be here and I will not answer, just my last attempt trying to make a point.</div><div style><br></div><div style>Please consider the main developer behind node.js agrees this property should never land in JS as it's a minefield game specially when security and server side stuff is involved.</div>
<div style><br></div><div style>Current status:</div><div style><a href="https://gist.github.com/WebReflection/5370050">https://gist.github.com/WebReflection/5370050</a><br></div><div style><br></div><div style>







<p class=""><font face="courier new, monospace">// all IE < 10 browsers</font></p>
<p class=""><font face="courier new, monospace"><b>if</b> (<b>!</b>(<span class="">'__proto__'</span> <b>in</b> {})) {</font></p>
<p class=""><font face="courier new, monospace"><span class="">  console.log(</span>'you gonna have hard time'<span class="">);</span></font></p>
<p class=""><font face="courier new, monospace">}</font></p>
<p class=""><font face="courier new, monospace">// all Mobile WebKit browsers</font></p>
<p class=""><font face="courier new, monospace"><b>if</b> (<span class="">'__proto__'</span> <b>in</b> <span class="">Object</span>.create(<b>null</b>)) {</font></p>
<p class=""><font face="courier new, monospace"><span class="">  console.log(</span>'you gonna have hard time'<span class="">);</span></font></p>
<p class=""><font face="courier new, monospace">}</font></p>
<p class=""><font face="courier new, monospace">// all not so updated Chrome browsers plus many mobile  browsers</font></p>
<p class=""><font face="courier new, monospace"><b>if</b> (<b>!</b><span class="">Object</span>.getOwnPropertyDescriptor(<span class="">Object</span>.prototype, <span class="">'__proto__'</span>).configurable) {</font></p>

<p class=""><font face="courier new, monospace"><span class="">  console.log(</span>'you gonna have hard time'<span class="">);</span></font></p>
<p class=""><font face="courier new, monospace">}</font></p>
<p class=""><font face="courier new, monospace">// all updated Chrome browsers plus current node.js</font></p>
<p class=""><font face="courier new, monospace"><b>if</b> (<b>!</b><span class="">Object</span>.getOwnPropertyDescriptor(<span class="">Object</span>.prototype, <span class="">'__proto__'</span>).set) {</font></p>

<p class=""><font face="courier new, monospace"><span class="">  console.log(</span>'you gonna have hard time'<span class="">);</span></font></p>
<p class=""><font face="courier new, monospace">}</font></p></div><div style><br></div><div style><div>now ask yourself how good is for the web to promote early adoption of broken ideas so that the whole future of the language will get screwed.</div>
<div><br></div><div>I think it's called **Butterfly Effect**, and once again this is the best time ever to officially drop that property instead of promoting it!</div><div><br></div><div>P.S. all the community needed/wanted, wasn't a shame like that property in the `Object.prototype` but a way to subclass or swap class to native, untouchable, instances/constructors such NodeList and all non ArrayLike objects: **nothing else**, really!</div>
<div><br></div><div>`Object.setPrototypeOf(obj, proto):obj` is a way better answer for next JS</div></div></div>