Ответ
Оба подхода имеют свои преимущества. ООП хорош для сложных систем с состоянием и инкапсуляцией, особенно в крупных приложениях. Функциональный подход делает код более предсказуемым и тестируемым за счёт чистых функций и иммутабельности.
В современных фронтенд-проектах часто комбинирую подходы. Например, React-компоненты (ООП-стиль) + Redux с редьюсерами (функциональный стиль).
Пример функционального подхода:
const sum = (a, b) => a + b;
const double = n => n * 2;
const result = double(sum(2, 3)); // 10
Пример ООП:
class Counter {
constructor() { this.value = 0; }
increment() { this.value++; }
}
Выбор зависит от задачи и контекста. Лично мне нравится функциональный стиль для бизнес-логики и ООП для UI-компонентов.