Встречается на собеседованиях • сегодня

В чем разница между ООП и функциональным программированием

ООП основано на объектах, инкапсуляции, наследовании и полиморфизме. Данные и методы объединяются в классы, работа идёт через изменение состояния объектов.

ФП использует чистые функции, избегает изменяемого состояния и побочных эффектов. Акцент на преобразовании данных через композицию функций.

Пример ООП:

javascript
class User {
  constructor(name) {
    this.name = name;
  }
  greet() {
    return `Hello, ${this.name}!`;
  }
}

Пример ФП:

javascript
const greet = (name) => `Hello, ${name}!`;
const exclaim = (str) => `${str}!!!`;
const greetLoudly = (name) => exclaim(greet(name));

Ключевые различия:

  • ООП: состояние + поведение в объектах
  • ФП: данные + функции разделены
  • ООП: мутация состояния
  • ФП: иммутабельность
  • ООП: императивный стиль
  • ФП: декларативный стиль
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы