Разница между объектно-ориентированным и функциональным стилями в JavaScript заключается в следующем:
- Объектно-ориентированное программирование (ООП) базируется на понятии «объекты». proglib.io Это структуры данных, которые содержат поля данных (свойства) и процедуры (методы). proglib.io В ООП код часто разделён на классы и обычно поддерживает наследование и полиморфизм. stackoverflow.com
- Функциональное программирование (ФП) основывается на концепции «чистых функций», в которых нет разделяемого состояния, изменяемых данных и побочных эффектов. proglib.io В функциональном коде функция не способна изменять внешний мир, и выходное значение зависит только от заданных аргументов. stackoverflow.com
JavaScript — мультипарадигмальный язык, то есть он поддерживает как функциональный, так и объектно-ориентированный стили программирования. www.dev-notes.ru