Sobes.tech
Back to questions
Middle
1

Что такое чистая функция? Когда функция является чистой? Что такое побочные эффекты?

Companies where asked
Сбермаркетинг

Answer from AI

sobes.tech AI

Чистая функция — это функция, которая при одинаковых входных данных всегда возвращает одинаковый результат и не изменяет внешнее состояние.

Функция является чистой, если:

  • Не имеет побочных эффектов (не изменяет внешние переменные, не пишет в базу, не вызывает ввод-вывод).
  • Не зависит от внешнего состояния, кроме переданных аргументов.

Побочные эффекты — любые действия функции, которые влияют на внешний мир или состояние вне самой функции. Например:

  • Изменение глобальных переменных
  • Запись в базу данных или файл
  • Отправка сетевых запросов
  • Вывод в консоль

Пример чистой функции на JavaScript:

function add(a, b) {
  return a + b;
}

Эта функция всегда возвращает сумму аргументов и не меняет ничего вне себя.

Пример функции с побочным эффектом:

let counter = 0;
function increment() {
  counter += 1; // изменяет внешнюю переменную
}

Такая функция не является чистой.