title: UglifyJS changes the code bahaviour
body: <p>I have the following code (simplified for the sake of discussion):</p>
  
  <pre><code>var a = 1;
  var b = [];
  if (checkIfAisOne(a)) {
      b = ['something']
  }
  console.log(b);
  //['something']
  </code></pre>
  
  <p>then there is a Grunt Uglify task which converts this code to this:</p>
  
  <pre><code>checkIfAisOne(a) || (b = ['something']), console.log(b);
  // []
  </code></pre>
  
  <p>Because the first part of the expression is true, the second part (after <code>||</code>) is not executed and therefore <code>b</code> remains unchanged.</p>
  
  <p>So, uglified code shows different output than non-uglified code. </p>
  
  <p>Is that a known issue? A bug? How it can be prevented, is there any option/setting to fix this?</p>