Meaning and purpose of this line in Javascript - star[t][0] > x << 1 && (star[t][0] -= w << 1, test = !1)
<p>I saw a canvas animation in the header at following url - 
<a href="http://blogs.msdn.com/b/davrous/archive/2011/07/21/html5-gaming-animating-sprites-in-canvas-with-easeljs.aspx" rel="nofollow">http://blogs.msdn.com/b/davrous/archive/2011/07/21/html5-gaming-animating-sprites-in-canvas-with-easeljs.aspx</a> </p>

<p>A jsfiddle is <a href="http://jsfiddle.net/anmolsaraf/bQUwn/2/" rel="nofollow">here</a></p>

<p>While going through the javascript code a few annoying lines have a taken of lot of hours in understanding them, still having no luck and left with the only option to ask the experts at StackOverflow.</p>

<p>The lines are ( Line 85 - 90 in <a href="http://jsfiddle.net/anmolsaraf/bQUwn/2/" rel="nofollow">jsfiddle</a> ) - </p>

<pre><code> star[t][0] += mouse_x &gt;&gt; 4, 
 star[t][0] &gt; x &lt;&lt; 1 &amp;&amp; (star[t][0] -= w &lt;&lt; 1, test = !1), 
 star[t][0] &lt; -x &lt;&lt; 1 &amp;&amp; (star[t][0] += w &lt;&lt; 1, test = !1), 
</code></pre>

<p>All this runs in a for loop. The major confusing point for me is, making those two comparisons at line 2 and 3 above after an assignment in line 1. What's the purpose of this when the result of these two comparisons at line 2 and 3 above isn't stored into any variable ? </p>
