Introduzione
funzioni sono uno dei concetti fondamentali in JavaScript. Ti permettono di racchiudere del codice riutilizzabile, di modularizzare il tuo progetto, e di costruire logiche più complesse in modo ordinato.
In questa guida vedremo come dichiarare funzioni, passare parametri, restituire valori, e approfondiremo la differenza tra funzioni dichiarate, funzioni anonime ed arrow function.
Cos’è una funzione?
Una funzione è un blocco di codice progettato per eseguire un compito specifico. Si definisce una volta e si può riutilizzare ovunque.
Esempio base:
function saluta() { console.log("Ciao!"); } saluta(); // Output: Ciao!
Funzioni con parametri e valore di ritorno
function somma(a, b) { return a + b; } let risultato = somma(5, 3); // 8
- I parametri sono le variabili usate nella dichiarazione
- Gli argomenti sono i valori passati alla chiamata
return
serve per restituire un valore
Espressioni di funzione
Le funzioni possono anche essere assegnate a variabili:
const saluta = nome => `Ciao, ${nome}!`;
Questo è utile quando vuoi passare funzioni come parametri o usarle dinamicamente.
const somma = (a, b) => a + b;
Arrow function (funzioni freccia)
Introdotte con ES6, hanno una sintassi più compatta:
Se i parametri sono più di uno:
Nota: Le arrow function non hanno this
proprio, il che le rende ideali per contesti moderni ma meno adatte in classi o oggetti complessi.
Funzioni come argomenti (callback)
function esegui(callback) { console.log("Prima"); callback(); console.log("Dopo"); } esegui(() => console.log("Durante"));
Qui la funzione callback
viene eseguita all’interno di un’altra funzione: una base per programmazione asincrona, eventi
, timeout
, ecc.
Funzioni annidate e scope
Le funzioni possono essere dichiarate all’interno di altre funzioni:
function esterna() { function interna() { console.log("Sono interna"); } interna(); }
Ogni funzione ha il proprio scope (ambito), cioè l’insieme di variabili visibili al suo interno.
Best practice
- Dai nomi chiari e descrittivi alle funzioni
- Non abusare di funzioni annidate
- Usa
const
per dichiarare funzioni che non cambiano - function() anonime quando puoi usare arrow function
