Sobes.tech
Junior

Kas yra gryna funkcija?

sobes.tech AI

Atsakymas iš AI

Švari funkcija yra tokia funkcija, kuri atitinka du reikalavimus:

  1. Deterministiškumas: Kviečiama su tais pačiais argumentais, ji visada grąžina tą patį rezultatą.
  2. Be šalutinių poveikių: Ji nekeičia išorinio būsenos ar duomenų už savo apimties ribų (pavyzdžiui, nekeičia globalių kintamųjų, nerašo į failą, nesiunčia tinklo užklausų).

Švarios funkcijos pavyzdys:

// Švari funkcija: visada grąžins dviejų skaičių sumą, nekeisdama išorinių kintamųjų.
function add(a, b) {
  return a + b;
}

Neskaidri funkcija (su šalutiniais poveikiais):

// Neskaidri funkcija: keičia išorinį kintamąjį — counter.
let counter = 0;

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

Neskaidri (ne-deterministinė) funkcijos pavyzdys:

// Neskaidri funkcija: rezultatas priklauso nuo dabartinio laiko.
function getCurrentTime() {
  return new Date().getTime();
}