title: Why does reassigning __proto__ return different result?
body: <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>let p={};
  p.__proto__=Array.prototype;
  console.log(p.slice);   //ƒ slice() { [native code] }</code></pre>
  </div>
  </div>
  </p>
  <p>However.. What's the difference?</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>let o=Object.create(null);
  o.__proto__=Array.prototype;
  console.log(o.slice); //undefined.</code></pre>
  </div>
  </div>
  </p>