Skip to Content
Le documentazioni sono in costruzione, puoi utilizzare la navigazione sulla sinistra come roadmap per monitorare i tuoi progressi. Grazie!

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:

  1. Inizializzazione Viene eseguita una sola volta all’inizio del ciclo. Di solito serve per inizializzare una variabile contatore.

  2. Condizione Viene valutata prima di ogni iterazione. Se restituisce true, il ciclo continua; se restituisce false, il ciclo termina.

  3. 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:

  • i parte da 0
  • il ciclo continua finché i < 5
  • ad ogni iterazione i viene incrementato di 1

Il risultato sarà la stampa dei numeri da 0 a 4.


Flusso di esecuzione

  1. Esegue l’inizializzazione

  2. Valuta la condizione

  3. Se la condizione è vera:

    • esegue il blocco di codice
    • esegue l’incremento
    • torna al punto 2
  4. 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.length garantisce che il ciclo copra tutti gli elementi
  • i rappresenta 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 i di 2 ad ogni iterazione
  • termina quando i non è più maggiore di 0

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 qui

Con 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 let a var

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.

Aggiornato il