【问题标题】:What does a `+` in front of a Date do? [duplicate]日期前的“+”有什么作用? [复制]
【发布时间】:2019-04-23 01:47:44
【问题描述】:

我从一位已离职的同事那里找到了一些代码,但没有人确定以下 Date 对象前面的加号在做什么。

return {
  isActive: +new Date(notice.reportedAt) === +this.activeNoticeReportedAt,
  ...
}

我觉得这是一种 JavaScript 技巧,应该可以防止未定义,但这只是一个疯狂的猜测。

请注意activeNoticeReportedAt 已经是Date

【问题讨论】:

标签: javascript date


【解决方案1】:

它把它变成一个number,它代表日期的Unix时间戳,以毫秒为单位:

> +new Date()
< 1542726854220

这里使用它的原因是 Date 对象不能使用 == 运算符进行比较,因为它只检查对象相等,而不是值相等:

> x = new Date("2017-01-01")
> y = new Date("2017-01-01")
> x == y
false

【讨论】:

    猜你喜欢
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2015-05-03
    • 2019-12-17
    • 1970-01-01
    相关资源
    最近更新 更多