<p>I've seen this in a few <a href="https://stackoverflow.com/questions/221294/how-do-you-get-a-timestamp-in-javascript#221357">places</a></p>

<pre><code>function fn() {
    return +new Date;
}
</code></pre>

<p>And I can see that it is returning a timestamp rather than a date object, but I can't find any documentation on what the plus sign is doing.</p>

<p>Can anyone explain?</p>

JavaScript is loosely typed, so it performs type coercion/conversion in certain circumstances:
http://blog.jeremymartin.name/2008/03/understanding-loose-typing-in.html
http://www.jibbering.com/faq/faq_notes/type_convert.html
Other examples:
```
```
>>> +new Date()
1224589625406
>>> +"3"
3
>>> +true
1
>>> 3 == "3"
true
```
```