давайте для понимания. Я ничего против классов не имею, сам пол проекта в своё время переписал на классы - штука прикольная и полезная в объектных моделях, но это никак не касается вёрстки сайтов. Js в связке в апи браузера создавался как облуда для сайтов и там никогда не было необходимости в классах (т.к. они нужны для сущностей, которые описаны в БД и обрабатывает бек непосредственно) - потому они и не закладывались в движок, а позже были добавлены как очередной объект с ключевым словом class, далее добавили приватных свойств/методов и вроде стало похоже. Тем ни менее под капотом это очередной объект.