Reputation: 13
I don't know what seems to be the problem. Can anyone enlighten me on why is my class returns as undefined?
function ToDo() {
class clsToDo{
constructor(description) {
this.description = description;
this.complete = false;
}
}
return clsToDo;
}
desc = 'Create ToDo';
newToDo = new ToDo(desc);
console.log(newToDo.description); // this should print 'Create ToDo'
Upvotes: 0
Views: 38
Reputation: 43479
It is because you call just function that returns class:
function ToDo() {
class clsToDo{
constructor(description) {
this.description = description;
this.complete = false;
}
}
return clsToDo;
}
desc = 'Create ToDo';
newToDo = new ToDo(desc);
v = new newToDo('ok');
console.log(newToDo)
console.log(v.description);
Drop your function and just use normal class definition:
class ToDo {
constructor(description) {
this.description = description;
this.complete = false;
}
};
desc = 'Create ToDo';
newToDo = new ToDo(desc);
console.log(newToDo.description);
Upvotes: 1