日期前的“+”有啥作用? [复制]

Posted

技术标签:

【中文标题】日期前的“+”有啥作用? [复制]【英文标题】: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

【问题讨论】:

***.com/questions/221539/… 【参考方案1】:

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

> +new Date()
< 1542726854220

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

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

【讨论】:

以上是关于日期前的“+”有啥作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

包名前的关键字“unit”有啥作用?

$1 和 $* 有啥作用? [复制]

私有构造函数有啥作用? [复制]

有啥作用? ... : ... 做? [复制]

带有 () 的 C 对象 - 它有啥作用? [复制]

PHP 中的@ 字符有啥作用? [复制]