Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Small detail, what's with the plus in this code from that site:

    last = +new Date();


It is a trick to coerce it to an integer.

    >> new Date()
    Date 2019-05-27T12:52:41.932Z
    >> +new Date()
    1558961556913
    >> +"4" // works on anything else :)
    4


+ can concatenate strings. So I guess there is an implied: 0 + in there to make it in integer mode.


There's no implication involved. It's the unary operator, and it performs the type conversion exactly as specced.



converts the date object to a unix timestamp* (int). a + works for coercing stuff to numbers. e.g. +"0.5" is quicker than paraseFloat("0.5") and also saves you from having to know if you need to use parseFloat or parseInt. coersion to strings can also be done by appending to an empty string: "" + 0.5.

* in ms




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: