title: Using _.extend in Function prototype
body: <p>I'm seeing a lot of this these days:</p>
  
  <pre><code>function Dog () {
      this.name = 'Fido';
  }
  
  _.extend(Dog.prototype, {
      bark: function() {
          return 'BARK, BARK!'
      },
      soilChothingWithDirtyPaws: function () {
          // Some intricated logic here
          return 'There, I did it!';
      }
  });
  </code></pre>
  
  <p>But is the result different from the code below?</p>
  
  <pre><code>function Dog () {
      this.name = 'Fido';
  }
  Dog.prototype = {
      bark: function() {
          return 'BARK, BARK!'
      },
      soilChothingWithDirtyPaws: function () {
          // Some intricated logic here
          return 'There, I did it!';
      }
  }
  </code></pre>
  
  <p>I know what underscore's <a href="http://underscorejs.org/#extend" rel="nofollow">extend</a> function is supposed to do, but I don't really get the point of doing this in the object's prototype -  when you could do this with plain old vanilla JS, that means, I can't see why a man in the middle is needed here. 
  I wonder if I'm missing something really neat. </p>
  
  <p>Does that bring any good at all?</p>
  
  <p>It would be really nice if somebody clear things out. Thanks a lot!</p>