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.
Sfida
FacileDevi 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 quiTutte le lezioni di Dichiarazioni di funzione in JavaScript
1Introduzione al corso
Cosa imparerai?2Introduzione alle funzioni
Che cos'è una funzione?Funzioni pureEsercizio sulle funzioni n. 1Esercizio sulle funzioni n. 23Modalità di dichiarazione delle funzioni
Funzione di baseFunzione annidataRestituire una funzioneEspressioni di funzioneFunzione frecciaCostruttore di funzioniEsercitati da solo: Compilatore JavaScript online