new Date()前面使用 +发生了什么

当你看到有人使用 +new Date()的时候,可能会惊讶,这是什么用法

// 返回一个时间戳 就是距离 1970年1月1日0时0分的毫秒数
+new Date()

其内部实际是执行了

  • 将 new Date()转换成 Number类型, 如果转换失败,就返回NaN

+new Date会调用 Date.prototype.valueOf() 方法; 而MDN-valueOf中解释,valueOf和直接 new Date().getTIme() 是一样的效果

所以,以下是等价的

+new Date()

new Date().valueOf()

new Date().getTime()

posted @ 2019-10-28 11:02  星辰之夜  阅读(767)  评论(0编辑  收藏  举报