Sobes.tech
Junior

Cos'è una funzione pura?

sobes.tech AI

Risposta dell'AI

Una funzione pura è una funzione che soddisfa due condizioni:

  1. Determinismo: Quando viene chiamata con gli stessi argomenti, restituisce sempre lo stesso risultato.
  2. Assenza di effetti collaterali: Non modifica lo stato esterno né i dati al di fuori del suo ambito (ad esempio, non modifica variabili globali, non scrive su file, non effettua richieste di rete).

Esempio di funzione pura:

// Funzione pura: restituirà sempre la somma di due numeri senza modificare variabili esterne.
function add(a, b) {
  return a + b;
}

Esempio di funzione impura (con effetto collaterale):

// Funzione impura: modifica la variabile esterna counter.
let counter = 0;

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

Esempio di funzione impura (non deterministica):

// Funzione impura: il risultato dipende dal tempo corrente.
function getCurrentTime() {
  return new Date().getTime();
}