Good day. I'm making a todo list app. Instead of classes, I want to use factory functions.
Original code with classes:
export class MyProject {
constructor(title, description, dueDate, priority) {
this.title = title;
this.description = description;
this.dueDate = dueDate;
this.priority = priority;
this.todos = [];
this.projectIndex = null;
this.expandContent = () => expandContent(this);
this.deleteCard = () => deleteCard(this);
this.addTodo = (todoText) => {
this.todos.push(todoText);
this.expandContent();
};
}
}
I tried using factory functions:
export const MyProject = (title, description, dueDate, priority) => {
let todos = [];
let projectIndex = null;
const expandContent = () => expandContent(this);
const deleteCard = () => deleteCard(this);
const addTodo = (todoText) => {
todos.push(todoText);
expandContent();
}
return {title, description, dueDate, priority, todos, projectIndex, expandContent, deleteCard, addTodo}
};
I've acknowledged, that this
is not necessary in factories, I'm not really sure how not to use them in expandContent and deleteCard functions
Top comments (4)
Custom t-shirts can be a fun way to promote coding concepts, like how to create factory functions instead of using classes. Featuring catchy phrases or diagrams that explain this functional programming approach, these shirts can spark conversations among developers at meetups and conferences. By wearing custom t-shirts with programming tips, tech enthusiasts can share their knowledge about creating cleaner, more modular code, encouraging others to explore different coding techniques for better software design.
I was able to expand my horizons by reading the post, which provided me with an abundance of knowledge.
escape road
Do you mean by reading this post?
Some comments may only be visible to logged-in visitors. Sign in to view all comments.