当Date无效时,抛出新的TypeError Date对象

时间:2016-10-09 11:55:46

标签: javascript date typeerror

我需要一些帮助..当我的finishedDate设置为无效的Date对象时,我需要抛出一个新的TypeError,除非它是未定义的。 当我为我的dueDate做的时候,我写道:

 Object.defineProperty(this, 'dueDate', {
get: function() {
  return _dueDate;
},
set: function(dueDate) {
  if (Object.prototype.toString.call(dueDate) !== "[object Date]") {
    throw new TypeError('invalid date');
  }
  _dueDate = dueDate;
}
});

但是当我尝试为finishedDate执行此操作时,它将无法工作,因为有时没有finishedDate,它是未定义的?

1 个答案:

答案 0 :(得分:1)

如果finishedDateundefined

,请不要抛出错误
set: function(finishedDate) {
    if (finishedDate !== undefined && Object.prototype.toString.call(finishedDate) !== "[object Date]") {
// -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      throw new TypeError('invalid date');
    }
    _finishedDate = finishedDate;
}