Много где читал (вот например https://medium.com/javascript-scene/common-misconceptions-about-inheritance-i... ) что классическое наследование (используя class, либо даже использую прототипы в js в стиле С++) это отстой - а возможности js (Object.assign нескольких базовых объектов в один, если я правильно понял) гораздо круче - но аргументы мне не очень понятны - они описывают проблемы которые я особо не испытывал (Про банан и гориллу). Либо просто говорят что все херня - юзай вот так.
Может я просто не правильно их понимаю - они не приводили примеров (кроме просто как использовать на примере животное -> собака - но там совсем не ясно, а в чем же преимущество) - может кто из вас показать пример (желательно решение реальной задачи) используя особенности js который написать на классическом (скажем java) языке было бы трудно либо не красиво либо код получился бы не качественный.
На работе я сейчас пишу достаточно большой проект - но 99% моего использовать классов это реакт - class Name extends from React.Component кроме этого есть всего два класса - DnD - класс который управляет драг енд дропом - изначально я его писал в Реакт классе - но когда все разрослось - вынес все что с ним связанно в отдельный класс - и связал с бывшим классом реакта.
Также есть класс SelectedStructure - нужна для удобной работы с хранением выбранных карточек - есть кнопка выбрать все - даже еще не загруженные заранее (есть скролл лоадер) Он используется только в DnD классе (могу выделить какие-то карточки - потом применить к ним DnD) например метод SelectedStructure
add(newItemId) {
if (this.isNowSelectAllMode) {
array.remove(newItemId) // храним всех кого не выбрали (все остальные выбраны из-за кнопки select All)
// значит при выборе элемента - мы из массива его на самом деле удаляем
} else {
array.push(newItemId) // обычный режим - просто добавляем
}
}
Так вот - я не испытал необходимости в тех вещах про которые рассказывают в статье - наверное я не понял их. П.С. писал какое-то время на java - базовые вещи понимаю - наследование использовал. на js пишу много и давно.