Назад к вопросам
Middle
2
Что такое чистая функция? Является ли console.log внутри функции side-эффектом?
Компании, где спрашивали
Data World
Ответ от нейросети
sobes.tech AI
Чистая функция — это функция, которая при одинаковых входных данных всегда возвращает одинаковый результат и не вызывает никаких побочных эффектов (side-effects).
Побочные эффекты — это любые действия функции, которые выходят за рамки вычисления значения, например:
- изменение внешних переменных или состояний,
- выполнение ввода-вывода (например, запись в консоль, работу с файлами, сетью),
- изменение аргументов функции.
console.log внутри функции является побочным эффектом, так как он выводит данные в консоль, что влияет на внешний мир и не связано напрямую с возвращаемым значением функции.
Пример чистой функции:
function add(a, b) {
return a + b;
}
Пример функции с побочным эффектом:
function logSum(a, b) {
const sum = a + b;
console.log(sum); // side-effect
return sum;
}
Таким образом, console.log внутри функции делает её нечистой.