Что такое чистая функция

Ответ

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

Характеристики:

  1. Детерминированность — результат зависит только от входных аргументов.
  2. Отсутствие побочных эффектов — не изменяет глобальные переменные, не делает API-запросов, не модифицирует DOM и т.д.

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

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

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

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

Чистые функции предсказуемы, легко тестируются и оптимизируются. Их часто используют в Redux-редюсерах и функциональном программировании.