title: What is the practical difference between `_.defaults` and `_.extend`?
body: <p>I have been using <code>_.extends</code> as a way to get default options in my backbone views, like this:</p>
  
  <pre><code>options = _.extend({
      field: 'default-val'
  }, options);
  </code></pre>
  
  <p>Now I recently discovered the <code>_.defaults</code> method which seemingly does the same, only with inverted arguments:</p>
  
  <pre><code>options = _.defaults(options, {
      field: 'default-val'
  });
  </code></pre>
  
  <p>Apart from the switched arguments, I cannot find how these functions are different. So what is the practical difference between these two functions?</p>