我需要为我的ToDoList创建一个isDone,如果它已经完成,它应该返回true或false。但是如果设置了isDone日期,它应该抛出一个错误,因为它应该是“只读”。我想的是:
function ToDoItem(isDone) {
let _isDone;
Object.defineProperty(this, 'isDone', {
get: function() {
return _isDone;
}
});
}
但是如何继续这样返回的值是true还是false?
在我的完成日期中,我做到了这一点:
Object.defineProperty(this, 'finishedDate', {
get: function() {
return _finishedDate;
},
set: function(finishedDate) {
if (finishedDate !== undefined && Object.prototype.toString.call(finishedDate) !== '[object Date]') {
throw new TypeError('invalid date');
}
_finishedDate = finishedDate;
}
});
答案 0 :(得分:0)
这不是你想要的功能函数吗?我会猜到像下面的哲学一样简单
function isDone(item) {
return todoList.getItem(item).status;
}