Menu
Coddy logo textTech

Funzioni pure

Lezione 3 di 14 del corso Dichiarazioni di funzione in JavaScript di Coddy.

In JavaScript, una funzione pura è una funzione che, a parità di input, restituisce sempre lo stesso output e non produce effetti collaterali osservabili. Le funzioni pure non modificano alcuno stato esterno né interagiscono con variabili esterne.

Le funzioni pure sono particolarmente utili per:
Trasformazione dei dati: ideali per mappare, filtrare e ridurre i dati.
Gestione dello stato: garantisce l'immutabilità dello stato, soprattutto in framework come Redux.

Sintassi di una funzione pura:

function add(a, b) {
	return a + b;
}

La funzione 'add' mostrata sopra è pura perché produce sempre lo stesso risultato a parità di input e non influisce su alcuno stato esterno.

Sintassi di una funzione impura:

let counter = 0;
function increment() {
	return counter++;
}

La funzione 'increment' è impura perché modifica variabili o stati esterni, causando effetti collaterali.

Rifattorizzazione di una funzione impura in una funzione pura:

let total = 0;

// Funzione impura 
function addToTotal(amount) {
    total += amount;
    return total;
}

// Rifattorizzazione di una funzione impura in una funzione pura
// Funzione pura (crea un nuovo total)
function addToTotal(total, amount) {
	return total + amount;
}

Nell'esempio precedente, rifattorizzare una funzione impura in una funzione pura garantisce che restituisca un nuovo oggetto senza modificare quello originale.

challenge icon

Sfida

Facile

Devi scrivere del codice JavaScript per rifattorizzare la funzione impura esistente in una funzione pura, chiamando questa funzione nextBirthday.

La funzione deve ricevere un argomento: l'età.

Provalo tu

let userAge = 24;

// Funzione impura 
function celebrateBirthday() {
    userAge += 1;
    return userAge; 
} 
// Non modificare il codice qui sopra
// Scrivi il codice qui

Tutte le lezioni di Dichiarazioni di funzione in JavaScript

Esercitati da solo: Compilatore JavaScript online