title: Critique my prototypal inheritance pattern
body: <p>I've decided to use Object.create, as it seems much more intuitive than using 'new' and having to write Car.prototype.func1 = function(){} for each function, for example; seems a bit too DRY.</p>
  
  <p>I had an epiphany of using $.extend to augment properties and functions, making it easier to grab code from any object I wanted to use. Once the object's extended, I then use Object.create() to set the prototype, so the functions are common to all instances and pass in the properties as the second parameter.</p>
  
  <p>Is the following pattern okay? <a href="https://jsfiddle.net/x8m3pt0f/" rel="nofollow">jsfiddle</a></p>
  
  <pre><code>// props use Object.defineProperties() format; can configure each prop as writable, enumerable, etc
  
  var Vehicle = {
      props : { 'colour' : {value:'black'}, 'wheels' : {value:4} },
      proto : { 'drive' : function(){console.log('drive ' + this.colour + ' ' +     this.wheels);} }
  };
  
  var Ferrari = {
      props : { 'colour' : {value:'red'}, 'seats' : {value:2} },
      proto : { 'fast' : function(){console.log('ferrari power ' + this.colour + ' ' + this.wheels + ' ' + this.seats);} }
  }; 
  
  function init(){
  
      // copy Vehicle object, so it remains untouched
      var vehicle = $.extend(true,{}, Vehicle); 
  
      // augment vehicle super-class with sub-class
      $.extend(vehicle.props, Ferrari.props);
      $.extend(vehicle.proto, Ferrari.proto);
  
      // prototypal inheritance
      var ferrari = Object.create(vehicle.proto, vehicle.props);
      ferrari.drive();
      ferrari.fast();
  }
  
  init();
  </code></pre>
  
  <p>Edit : I've abandoned this idea, too messy; I'm using a prototypal pattern, shown at the end of <a href="http://davidshariff.com/blog/javascript-inheritance-patterns/" rel="nofollow">this article</a>.</p>