我正在阅读一些源代码,并找到了这个。为什么+ new Date()与new Date()返回相同.getTime()?它背后的机制是什么?
var date = new Date()
+data == date.getTime() // true
答案 0 :(得分:3)
The unary +
operator将操作数转换为数字。在该过程中,将调用date.valueOf
,其执行与date.getTime
相同的计算。
答案 1 :(得分:1)
这是因为一元+
运算符 - 在字符串以外的类型上使用时 - 会在内部调用valueOf
。对于日期,它在功能上等同于Date.prototype.getTime
,因为它们都执行相同的abstract operation。