В этом посте мы увидим разницу между чистыми функциями и функциями высокого порядка в javascript.

Что такое чистые функции в Javascript?

Функции, которые не производят побочных эффектов, называются чистыми функциями. Это означает, что он не зависит ни от какой внешней переменной (например, глобальной). Кроме того, он не изменяет никакую внешнюю переменную.

Такие функции всегда производят один и тот же вывод для одного и того же ввода.

Пример: Здесь doubleNumber() является чистой функцией, потому что ее результат зависит исключительно от ввода. Он не производит никакого побочного эффекта.

function doubleNumber(num) {
  return 2 * num;
}

let result = doubleNumber(6);
console.log(result);

Что такое нечистые функции в Javascript?

Нечистые функции производят побочные эффекты и не всегда дают одинаковый результат для одного и того же входа.

Пример 1: Функция ниже нечиста, потому что ее возвращаемое значение зависит от глобальной переменной «val». Кроме того, в качестве побочного эффекта он изменяет переменную «val». Даже console.log() считается побочным эффектом.

let val = 3;

function doubleNumber(num) {
  val = 2;
  console.log(val);
  return val * num;
}

let result = doubleNumber(6);
console.log(result);

Для получения дополнительной информации посетите: https://www.freecodecamp.org/news/pure-function-vs-impure-function/