Javascript or and assignment operators
<p>I was looking through some compiled coffee-script code, and I noticed something like the following, which I thought was really strange:</p>

<pre><code>var current, x = 8;
current = this._head || (this._head = x);
</code></pre>

<p>after running this, current has a value of 8.  Judging by the way that the || logical operator works, I would have expected it to evaluate the left side first.  After getting an 'undefined' on the left hand side, it moves onto the right, where it assigns this._head to 8.  Afterwards it returns a true, but this part isn't that important?  I don't see how it could go back and affect the "current" variable?  Any help would be appreciated, thanks!</p>
