Middle
Qu'est-ce qu'une fonction pure ? Est-ce qu'un console.log à l'intérieur d'une fonction est un effet secondaire ?
sobes.tech IA
Réponse de l'IA
Чистая функция — это функция, которая при одинаковых входных данных всегда возвращает одинаковый результат и не вызывает никаких побочных эффектов (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 внутри функции делает её нечистой.