Differenza tra var e const in Dart e Flutter

2
minuti
21/1/25

Due parole chiave spesso utilizzate sono var e const, ciascuna con caratteristiche specifiche.

Comprendere le differenze tra queste due dichiarazioni è essenziale per sfruttare al meglio il linguaggio.

Se vuoi imparare le basi di DART ho scritto un corso per principianti a questo link.

var: Dichiarazione di variabili con inferenza di tipo (type inference)

La parola chiave var in Dart permette di dichiarare una variabile il cui tipo viene inferito automaticamente dal compilatore in base al valore assegnato al momento dell'inizializzazione.

Una volta assegnato, il tipo della variabile non può essere modificato.

Esempio:

var nome = 'Luca'; // Il compilatore inferisce che 'nome' è di tipo String
// nome = 42; // Errore: non è possibile assegnare un int a una variabile di tipo String


Caratteristiche di var:

  • Inferenza di Tipo: Il compilatore determina automaticamente il tipo della variabile in base al valore iniziale.
  • Tipo Immutabile: Dopo l'assegnazione iniziale, il tipo della variabile non può essere cambiato.
  • Mutabilità del Valore: Il valore della variabile può essere modificato, purché il nuovo valore sia dello stesso tipo.

Quando Utilizzare var:

  • Quando il tipo della variabile è evidente dal contesto e si desidera una sintassi più concisa.
  • Quando è necessario che la variabile possa cambiare valore nel tempo.

La parola chiave var in Dart permette di dichiarare una variabile il cui tipo viene inferito automaticamente dal compilatore in base al valore assegnato al momento dell'inizializzazione. Una volta assegnato, il tipo della variabile non può essere modificato.

const: Dichiarazione di costanti al momento della compilazione (Compile-time)

La parola chiave const viene utilizzata per dichiarare variabili il cui valore è determinato al momento della compilazione e rimane costante per tutta la durata del programma.

Le variabili dichiarate con const sono immutabili e devono essere inizializzate con valori noti al momento della compilazione.

Esempio:

const pi = 3.14159; // Valore determinato a tempo di compilazione
// pi = 3.14; // Errore: non è possibile assegnare un nuovo valore a una variabile const

Caratteristiche di const:

  • Immutabilità: Il valore non può essere modificato dopo l'inizializzazione.
  • Valore a Tempo di Compilazione: Il valore deve essere noto e determinato durante la compilazione.
  • Canonicalizzazione: Gli oggetti const identici possono condividere la stessa posizione in memoria, ottimizzando l'uso delle risorse.

Quando Utilizzare const:

  • Quando il valore è una costante nota a tempo di compilazione e non cambierà mai.
  • Per definire valori costanti che possono essere utilizzati in più parti del programma, migliorando la leggibilità e la manutenibilità del codice.

La parola chiave const viene utilizzata per dichiarare variabili il cui valore è determinato al momento della compilazione e rimane costante per tutta la durata del programma. Le variabili dichiarate con const sono immutabili e devono essere inizializzate con valori noti al momento della compilazione.

Differenze chiave tra var e const

Var

  • Tipo: Inferito dal valore iniziale; immutabile dopo l'assegnazione
  • Mutabilità: Il valore può essere modificato, mantenendo lo stesso tipo
  • Inizializzazione: Può essere inizializzata con valori determinati a runtime
  • Uso della Memoria: Ogni variabile ha la propria allocazione in memoria

Const

  • Tipo: Deve essere assegnato un valore costante a tempo di compilazione
  • Mutabilità:Il valore è immutabile; non può essere modificato dopo l'inizializzazione
  • Inizializzazione: Deve essere inizializzata con valori noti a tempo di compilazione
  • Uso della Memoria: Gli oggetti const identici possono condividere la stessa posizione in memoria (canonicalizzazione)

Esercizi Pratici

Per consolidare la comprensione delle differenze tra var e const, si propongono i seguenti esercizi:

  1. Esercizio 1:
    • Dichiarare una variabile var chiamata eta e assegnarle il valore 25.
    • Provare a riassegnare a eta il valore 'venticinque' e osservare cosa accade.
  2. Esercizio 2:
    • Dichiarare una variabile const chiamata numeroDiGiorniSettimana e assegnarle il valore 7.
    • Tentare di modificare il valore di numeroDiGiorniSettimana a 8 e notare il risultato.
  3. Esercizio 3:
    • Creare una lista di numeri interi utilizzando const e assegnarla a una variabile chiamata numeri.
    • Provare ad aggiungere un nuovo numero alla lista numeri e osservare il comportamento del programma.

Conclusioni

Comprendere le differenze tra var e const in Dart e Flutter è fondamentale per scrivere codice chiaro, efficiente e manutenibile.

Mentre var offre flessibilità permettendo la modifica del valore della variabile, const garantisce l'immutabilità e l'assegnazione di valori noti al momento della compilazione.

L'uso appropriato di queste parole chiave contribuisce a prevenire errori e a migliorare la qualità del codice.

Contattami

Hai domande sulla progettazione web
o sui servizi offerti?
Sarà un piacere assisterti.