Junior
Kas yra gryna funkcija?
sobes.tech AI
Atsakymas iš AI
Švari funkcija yra tokia funkcija, kuri atitinka du reikalavimus:
- Deterministiškumas: Kviečiama su tais pačiais argumentais, ji visada grąžina tą patį rezultatą.
- 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();
}