如何确定两个日期对象是否彼此相等?

Nam*_*ANG 1 javascript date

这是我在stackoverflow中的第一个问题。

var str="Oct 13,2011";
var date1=new Date(str);
var date2=new Date(str);
Run Code Online (Sandbox Code Playgroud)

当然valueOf(date1)== valueOf(date2)

但是为什么date1!= date2

或者说,如何确定两个日期对象是否相等。

日期是一个js对象

Yos*_*shi 5

Javascript对象只有在引用相同的对象引用时才相等。在您的代码中情况并非如此。

(参考:“ ==”的对象相等性的标准定义是什么?

编辑:使用少量类型转换,您可以执行以下操作:

var str="Oct 13,2011";
var date1 = new Date(str);
var date2 = new Date(str);

console.log(+date1 == +date2); // true
Run Code Online (Sandbox Code Playgroud)