Вопрос проверяет понимание побочных эффектов в функциональном программировании и их влияние на чистоту функций.
Побочные эффекты (side effects) — это любые операции, выполняемые функцией, которые влияют на состояние программы за пределами её локальной области видимости или взаимодействуют с внешним миром. В функциональном программировании чистая функция не должна иметь побочных эффектов: она только принимает аргументы и возвращает результат, не изменяя ничего вне себя.
// Функция с побочным эффектом (изменение глобальной переменной)
let counter = 0;
function increment() {
counter++; // side effect
return counter;
}
// Чистая функция без побочных эффектов
function add(a, b) {
return a + b;
}
// Функция с побочным эффектом (запись в консоль)
function greet(name) {
console.log('Hello, ' + name); // side effect
return 'Hello, ' + name;
}Понимание побочных эффектов важно при работе с React (useEffect), Redux (reducers должны быть чистыми), а также в функциональном программировании на JavaScript, Python и других языках. Изоляция побочных эффектов делает код более предсказуемым и упрощает тестирование.
Вывод: Побочные эффекты неизбежны в реальных приложениях, но их следует минимизировать и выносить на границы системы, чтобы основная логика оставалась чистой и тестируемой.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию