Мы можем создавать пользовательские HTML-элементы, описываемые нашим классом, со своими методами и свойствами, событиями и так далее.
Как только пользовательский элемент определён, мы можем использовать его наравне со встроенными HTML-элементами.
Современные фронтенд-фрэймворки, Angular, Vue, React и их производные для разработки динамических страниц предлагают компонентный подход. Т.е. проект состоит из компонентов. Тогда задача фронтенд-программиста сводится к программированию компонентов и взаимодействию с компонентами.
Практика