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