Зачем писать в ООП стиле в JS?
Мои пять копеек. 
В принципе незачем. Для маленьких проектов самое то.
Но есть одно но. Когда ваш проект будет расти, управляться со всей этой коллекцией функций будет ох как сложно.
Представьте, что помимо простого вызова пользователей и лайков, вам надо будет считать их, производить множество других манипуляций.
Что вам больше понравится?
1. Длиннющий список функций
getUsers
getLikes
calculateUserRating
moveUser
copyUser
saveUser
saveLike
getLike
userLikes (это список лайков или пользователь ставит лайк?)
... и еще стопицот или
2. Небольшой список объектов
User
Like
Rating
и простые, понятные вызовы типа
User.getList
User.calculateRating
User.copy
User.getLikes
User.doLike
Заметна разница?
Чтобы реализовать сложную, хотя на самом деле любую, бизнес-логику.
А не поняли вы преимущества ООП, только потому, как мне кажется, что создали класс, накопипастили туда функций которые писали до этого, и довольные остались.
Если подходить к разработке со стороны предметной области и сущностей (объектов), то ООП сам собой образовывается.
Что нибудь про SOLID почитайте, что ли.В чем же преимущество ООП? На конкретном примере
По поводу примера, попробуйте реализовать подобный органайзер: https://www.wed-expert.com/organizer.
Как по мне, тут сразу же видно сущности: категория и элемент (от него наследуются: задача, гость, затрата).
После того как вы опишите данные сущности, весь код будет представлять из себя оперирования этими объектами (добавить, удалить, редактировать).
Если говорить про какой-нибудь React, то с его компонентной "идеологией", используя сущности очень реализовать.