Javascript angular.equals如何计算无效的日期对象?

Javascript angular.equals如何计算无效的日期对象?,javascript,angularjs,validation,date,Javascript,Angularjs,Validation,Date,我知道我不应该使用无效的日期对象来相互比较,而是为了理解angular.equal如何以及为什么处理类似的事情 angular.equals(new Date(''), new Date('')); //returns false, both objects are null 另一方面 angular.equals(null, null); //returns true 我错过了什么如果您觉得需要如果您正在使用 if (o1 !== o1 && o2 !== o2) ret

我知道我不应该使用无效的日期对象来相互比较,而是为了理解angular.equal如何以及为什么处理类似的事情

angular.equals(new Date(''), new Date('')); //returns false, both objects are null
另一方面

angular.equals(null, null); //returns true
我错过了什么如果您觉得需要

如果您正在使用
 if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN
  else if (isDate(o1)) {
    if (!isDate(o2)) return false;
    return equals(o1.getTime(), o2.getTime()); //returns false
  }
 else if (isDate(o1)) {
    return isDate(o2) && o1.getTime() == o2.getTime(); //returns true
  }