我从一个已故的同事那里找到了一些代码,没有人知道以下Date
对象前面的加号在做什么。
return {
isActive: +new Date(notice.reportedAt) === +this.activeNoticeReportedAt,
...
}
我觉得这是应该防止未定义的JavaScript技巧,但这只是一个疯狂的猜测。
请不要因为activeNoticeReportedAt
已经是Date
答案 0 :(得分:4)
将其转换为number
,代表日期的Unix时间戳(以毫秒为单位):
> +new Date()
< 1542726854220
在这里使用它的原因是Date
对象无法使用==
运算符进行比较,因为它仅检查对象相等性,而不检查值相等性:
> x = new Date("2017-01-01")
> y = new Date("2017-01-01")
> x == y
false