私はいくつかの助けが必要です。未定義の場合を除いて、finishedDateが無効なDateオブジェクトに設定されている場合、新しいTypeErrorをスローする必要があります。Dateが無効なときに新しいTypeErrorをスローするDateオブジェクト
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のためにこれを行うにしようとすると、それは未定義です:?私は私が書いた私のdueDateのためにそれをやった finishedDate
がundefined
ある場合
をはいコードがdueDateである私はdueDateを得るためにやった方法ですが、それはfinishedDate以来finishedDateのために動作しませんでしたテキストに言ったように場合によっては未定義になることもあります(項目が終了していない場合)。 日付は2016-10-09でなければなりません。それが何かに設定されていれば、TypeErrorがスローされますか?したがって、それは "protected"で、有効なDateオブジェクトにのみ設定することができます – babyCoder
コードのどこにでも変数 'finishedDate'が表示されません。また、コードを適切にインデントしてください。 –
無効な日付が有効なDateオブジェクトであるため、「無効な日付」のテストが失敗することに注意してください。 'Object.prototype.toString.call(new Date( 'foo'))!==" [object Date] "'は 'false'を返します。 – RobG