Sobes.tech
Junior

Čo je čistá funkcia?

sobes.tech AI

Odpoveď od AI

Čistá funkcia je taká funkcia, ktorá spĺňa dve podmienky:

  1. Deterministickosť: Pri volaní s rovnakými argumentmi vždy vráti rovnaký výsledok.
  2. Absencia vedľajších efektov: Nemodifikuje vonkajší stav alebo údaje mimo svojho rozsahu (napríklad nemodifikuje globálne premenné, neukladá údaje do súboru, nevykonáva sieťové požiadavky).

Príklad čistej funkcie:

// Čistá funkcia: vždy vráti súčet dvoch čísel bez zmeny vonkajších premenných.
function add(a, b) {
  return a + b;
}

Príklad nečistej funkcie (s vedľajším efektom):

// Nečistá funkcia: mení vonkajšiu premennú counter.
let counter = 0;

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

Príklad nečistej (nedeterministickej) funkcie:

// Nečistá funkcia: výsledok závisí od aktuálneho času.
function getCurrentTime() {
  return new Date().getTime();
}