What does this syntax mean: const foo = () => {} : <p>I have recently come across this code with which I am unfamiliar:</p>

<pre><code>const foo = () =&gt; {
    /*code block here*/
}
</code></pre>

<p>As far as I can tell, it means the same thing as:</p>

<pre><code>const foo = function () {
    /*code block here*/
}
</code></pre>

<p>Is that a correct assumption, or are there differences? 
What is the correct name to refer to this bit of code?
What exactly is the '=>' doing? I've never seen it in Javascript before.</p>
