Ответ
Чистая функция — это функция, которая всегда возвращает одинаковый результат для одних и тех же входных данных и не имеет побочных эффектов (не изменяет внешнее состояние).
Характеристики:
- Детерминированность — результат зависит только от входных аргументов.
- Отсутствие побочных эффектов — не изменяет глобальные переменные, не делает API-запросов, не модифицирует DOM и т.д.
Пример чистой функции:
function sum(a, b) {
return a + b;
}
Пример НЕчистой функции:
let counter = 0;
function increment() {
counter++; // Изменяет внешнюю переменную
return counter;
}
Чистые функции предсказуемы, легко тестируются и оптимизируются. Их часто используют в Redux-редюсерах и функциональном программировании.