加号在“+新日期”中的作用

2022-08-30 00:33:31

我在一些地方看到过这个

function fn() {
    return +new Date;
}

我可以看到它返回的是时间戳而不是日期对象,但我找不到有关加号正在做什么的任何文档。

谁能解释一下?


答案 1

这就是一元运算符。它等效于:+

function(){ return Number(new Date); }

参见 http://xkr.us/articles/javascript/unary-addMDN


答案 2

JavaScript是松散类型的,因此在某些情况下它会执行类型强制/转换:


http://blog.jeremymartin.name/2008/03/understanding-loose-typing-in.html http://www.jibbering.com/faq/faq_notes/type_convert.html

其他示例:

>>> +new Date()
1224589625406
>>> +"3"
3
>>> +true
1
>>> 3 == "3"
true