title: Best JavaScript inheritance implementation
body: <p>In JavaScript what sort of inheritance do you favour? The ECMA standard is to use prototype chaining. So I just set the prototype of the object that's doing the inheriting (monkey) to invoke a new instance of the object I want to inherit from (animal):</p>
  
  <pre><code>monkey.prototype = new animal();
  </code></pre>
  
  <p>I am aware there are other ways to achieve inheritance. i.e inheriting only the prototype, parasitic inheritance, deep copy, shallow copy. </p>
  
  <p>Can anyone enlighten me and tell me if there is one in particular I should use? One that has benefits that outweigh the other methods.</p>