Sobes.tech
Назад к вопросам
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 внутри функции делает её нечистой.