我需要一些帮助。当我的finishDate设置为无效的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,它是未定义的,所以它不起作用?
最佳答案
如果finishedDate
是undefined
,请不要抛出错误:
set: function(finishedDate) {
if (finishedDate !== undefined && Object.prototype.toString.call(finishedDate) !== "[object Date]") {
// -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
throw new TypeError('invalid date');
}
_finishedDate = finishedDate;
}