Вопрос проверяет понимание концепции чистых функций
Чистая функция — это функция, которая:
Всегда возвращает одинаковый результат для одинаковых аргументов.
Не имеет побочных эффектов (не изменяет внешние данные).
Пример:
const sum = (a, b) => a + b;Детерминированность
При одинаковых входных данных — одинаковый результат.
Пример нечистой функции: Math.random() (возвращает разное).
Отсутствие побочных эффектов
Не меняет глобальные переменные, не мутирует аргументы.
Пример нечистой функции:
let counter = 0;
function increment() { counter++; } // Меняет внешнее состояниеЧистая функция:
function multiply(a, b) {
return a * b;
}Нечистая функция:
let tax = 0.2;
function calculateTotal(price) {
return price * (1 + tax); // Зависит от внешней переменной
}Проще тестировать (не нужны моки).
Понятнее (нет скрытых зависимостей).
Можно кэшировать (например, мемоизация).
Чистые функции делают код предсказуемым и удобным для рефакторинга. Они широко используются в React (редьюсеры) и функциональном программировании.