Difference between `var options = options || {}` and `options || (options = {})`
<p>I often use <code>var options = options || {}</code> as way to default to an empty object. It's often used to initialize an option object in case it's not passed in the parameter of a function call.</p>

<p>The thing is I've read in several places (blog posts, source code) that <code>options || (options = {})</code> better express the developer's intent. Can someone elaborate on it ? I don't see the functional difference between the two, so there's something I must be missing here.</p>

<p>--- edit</p>

<p>I saw in Backbone.js source code in several places, like <a href="https://github.com/documentcloud/backbone/blob/0.9.2/backbone.js#L273" rel="nofollow">https://github.com/documentcloud/backbone/blob/0.9.2/backbone.js#L273</a></p>

<p>I think I saw it too in jQuery's source code too. And in the multiple Js writing style guides that flourished.</p>

<p>--- edit 2 code example :</p>

<pre><code>var func = function(param, options) {
   // How I do it
   var options = options || {};
   // How I should do it in the "same" way
   options = options || {};
   // The "other" way
   options || (options = {});

}
</code></pre>
