Sobes.tech
Junior

Czym jest funkcja czysta?

sobes.tech AI

Odpowiedź od AI

Funkcja czysta to funkcja, która spełnia dwa warunki:

  1. Deterministyczność: Przy wywołaniu z tymi samymi argumentami zawsze zwraca ten sam wynik.
  2. Brak efektów ubocznych: Nie zmienia stanu zewnętrznego ani danych poza swoim zakresem (np. nie modyfikuje zmiennych globalnych, nie zapisuje danych do pliku, nie wykonuje zapytań sieciowych).

Przykład funkcji czystej:

// Funkcja czysta: zawsze zwróci sumę dwóch liczb, nie zmieniając zmiennych zewnętrznych.
function add(a, b) {
  return a + b;
}

Przykład funkcji nieczystej (z efektem ubocznym):

// Funkcja nieczysta: zmienia zewnętrzną zmienną counter.
let counter = 0;

function incrementCounter() {
  counter++;
  return counter;
}

Przykład funkcji nieczystej (nie deterministycznej):

// Funkcja nieczysta: wynik zależy od aktualnego czasu.
function getCurrentTime() {
  return new Date().getTime();
}