for
Il costrutto for è una delle strutture di controllo fondamentali in JavaScript. Viene utilizzato per eseguire ripetutamente un blocco di codice finché una determinata condizione risulta vera. È particolarmente adatto quando il numero di iterazioni è noto o facilmente determinabile.
Sintassi di base
for (inizializzazione; condizione; incremento) {
// codice da eseguire
}Il ciclo for è composto da tre parti principali:
-
Inizializzazione Viene eseguita una sola volta all’inizio del ciclo. Di solito serve per inizializzare una variabile contatore.
-
Condizione Viene valutata prima di ogni iterazione. Se restituisce
true, il ciclo continua; se restituiscefalse, il ciclo termina. -
Incremento (o aggiornamento) Viene eseguito alla fine di ogni iterazione. Serve normalmente per aggiornare il contatore.
Esempio semplice
for (let i = 0; i < 5; i++) {
console.log(i);
}In questo esempio:
iparte da0- il ciclo continua finché
i < 5 - ad ogni iterazione
iviene incrementato di1
Il risultato sarà la stampa dei numeri da 0 a 4.
Flusso di esecuzione
-
Esegue l’inizializzazione
-
Valuta la condizione
-
Se la condizione è vera:
- esegue il blocco di codice
- esegue l’incremento
- torna al punto 2
-
Se la condizione è falsa, il ciclo termina
Comprendere questo flusso è essenziale per evitare cicli infiniti o comportamenti inattesi.
Uso con array
Il ciclo for è spesso utilizzato per iterare sugli array.
const numeri = [10, 20, 30, 40];
for (let i = 0; i < numeri.length; i++) {
console.log(numeri[i]);
}Qui:
numeri.lengthgarantisce che il ciclo copra tutti gli elementiirappresenta l’indice corrente dell’array
Inizializzazione multipla e incremento personalizzato
È possibile usare più variabili o incrementi diversi.
for (let i = 10; i > 0; i -= 2) {
console.log(i);
}Questo ciclo:
- parte da
10 - decrementa
idi2ad ogni iterazione - termina quando
inon è più maggiore di0
Omissione delle parti del for
Tutte e tre le parti del for sono opzionali, ma il punto e virgola è obbligatorio.
let i = 0;
for (; i < 3; ) {
console.log(i);
i++;
}Questo comportamento rende il for molto flessibile, ma va usato con attenzione per mantenere il codice leggibile.
Scope delle variabili
Quando si usa let o const nell’inizializzazione, la variabile è limitata allo scope del ciclo.
for (let i = 0; i < 3; i++) {
// i è accessibile qui
}
// i non è accessibile quiCon var, invece, la variabile ha scope di funzione, pratica ormai sconsigliata nel codice moderno.
Cicli annidati
È possibile inserire un ciclo for all’interno di un altro.
for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 2; j++) {
console.log(i, j);
}
}I cicli annidati sono utili per lavorare con strutture bidimensionali, come matrici o tabelle, ma possono avere un impatto sulle prestazioni se usati in modo eccessivo.
Buone pratiche
- Usare nomi di variabili chiari per il contatore quando il contesto lo richiede
- Evitare cicli troppo complessi o con logica difficile da seguire
- Prestare attenzione alle condizioni di uscita per evitare cicli infiniti
- Preferire
letavar
Il ciclo for rimane uno strumento essenziale nel web development, apprezzato per il controllo preciso che offre sul flusso di iterazione e per la sua versatilità in contesti sia semplici che avanzati.