我从一位已离职的同事那里找到了一些代码,但没有人确定以下 Date
前面的加号是什么。对象正在做的事情。
return {
isActive: +new Date(notice.reportedAt) === +this.activeNoticeReportedAt,
...
}
我觉得这是某种 JavaScript 技巧,应该可以防止未定义,但这只是一个疯狂的猜测。
请注意activeNoticeReportedAt
已经是 Date
最佳答案
它将其转换为一个数字
,代表日期的 Unix 时间戳(以毫秒为单位):
> +new Date()
< 1542726854220
此处使用它的原因是 Date
对象无法使用 ==
运算符进行比较,因为它仅检查对象相等性,而不检查值相等性:
> x = new Date("2017-01-01")
> y = new Date("2017-01-01")
> x == y
false
关于javascript - 日期前面的 `+` 有何作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53396011/