为什么+ new Date()与new Date()返回相同.getTime()?

时间:2017-11-02 03:35:15

标签: javascript date

我正在阅读一些源代码,并找到了这个。为什么+ new Date()与new Date()返回相同.getTime()?它背后的机制是什么?

var date = new Date()
+data == date.getTime() // true

2 个答案:

答案 0 :(得分:3)

The unary + operator将操作数转换为数字。在该过程中,将调用date.valueOf,其执行与date.getTime相同的计算。

答案 1 :(得分:1)

这是因为一元+运算符 - 在字符串以外的类型上使用时 - 会在内部调用valueOf。对于日期,它在功能上等同于Date.prototype.getTime,因为它们都执行相同的abstract operation