title: var exists or var gets value syntax?
body: <p>I came across the following line of code in the underscore.js source:</p>
  
  <pre><code>function (obj, iterator, context) {
    iterator || (iterator = _.identity);
    ...
  }
  </code></pre>
  
  <p>Is that syntax equivalent to:</p>
  
  <pre><code>if (!iterator) {
    iterator = _.identity;
  }
  </code></pre>
  
  <p>Are there any performance benefits to using the former syntax other than reducing the statement to one line?</p>