Люблю эту гифку за наглядность проблемы наследования. Не расширяйте сущности, особенно из внешних библиотек, если они явно не объявлены абстрактными. К сожалению, у нас в TS/JS нет финальных классов. Возможно совет стоит сократить до «Постарайтесь не использовать классы». В общем-то большинство классов, что я встречаю в JS/TS коде не инкапсулируют никаких данных. Даже более того, зачастую все методы этих классов можно объявить статическими и ничего не сломается.
С другой стороны, часто встречаются и такие отнаследованные через три колена классы, что чтобы размотать их поведение назад нужно пропрыгать несколько внешних библиотек.
Так зачем страдать, если можно просто оперировать функциями?
С другой стороны, часто встречаются и такие отнаследованные через три колена классы, что чтобы размотать их поведение назад нужно пропрыгать несколько внешних библиотек.
Так зачем страдать, если можно просто оперировать функциями?