Junior
Czym jest funkcja czysta?
sobes.tech AI
Odpowiedź od AI
Funkcja czysta to funkcja, która spełnia dwa warunki:
- Deterministyczność: Przy wywołaniu z tymi samymi argumentami zawsze zwraca ten sam wynik.
- 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();
}