title: What does 'options || (options = {})' do?
body: <p>I'm trying to better understand <a href="http://backbonejs.org/docs/backbone.html" rel="nofollow">BackboneJS</a> by reading the annotated source.</p>
  
  <pre><code>options || (options = {});
  </code></pre>
  
  <p>Options is an attribute passed into a function, so presumably could be 'undefined'. My initial thoughts were that this statement would set options to an empty object if it was undefined. However my experimenting seemed to tell me this is not the case. Also, the previous line is this:</p>
  
  <pre><code>var attrs = attributes || {};
  </code></pre>
  
  <p>Which I believe does pretty much what I'd described (whilst also shortening the attribute name).</p>
  
  <p>My question is, what is the actual purpose of the first code snippet?</p>
  
  <p>Full context is <a href="http://backbonejs.org/docs/backbone.html#section-32" rel="nofollow">here</a></p>