Cascade null-shorting (?..)
Usare cascade in sicurezza su oggetti nullable.
Cascade null-shorting (?..) è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.
La trappola dei valori nullable
Una cascade normale applicata a un valore che potrebbe essere null provoca un errore. Chiamare un metodo su null genera un errore prima dell'esecuzione di qualsiasi riga.
Ecco la null-shorting
Dart offre una versione sicura: la null-shorting cascade, scritta con un punto interrogativo seguito da due punti. Viene eseguita solo quando l'oggetto non è null.
button?..text = 'Save'
..onTap = save;Come funziona il cortocircuito
Se il valore di destinazione è null, l'intera cascade viene ignorata e l'espressione diventa semplicemente null. Nessun errore e nessuna operazione parziale.
Solo il primo punto ne ha bisogno
Scrive il punto interrogativo una sola volta, sulla prima cascade. Le righe successive mantengono i normali due punti; Dart sa già che l'oggetto non è null.
obj?..a()
..b()
..c();Tutto o niente
Il cortocircuito su null è tutto o niente: vengono eseguite tutte le righe perché l'oggetto esiste, oppure non ne viene eseguita nessuna. La catena non viene mai eseguita a metà.
Rispetto alla cascade normale
Una cascade normale presuppone che l'oggetto esista. La versione null-shorting è la protezione da usare quando il tipo è nullable e il valore potrebbe mancare.
Restituisce un valore nullable
Poiché il risultato può essere l'oggetto oppure null, l'intera espressione ha un tipo nullable. Tratti ciò che riceve come un valore che potrebbe essere null.
Un esempio reale
Immagini una configurazione che potrebbe non esistere ancora. La null-shorting consente di configurarla solo quando è presente, con un'unica riga ordinata. 🛡️
settings?..theme = dark
..save();Non ripeta il simbolo
Scrivere il punto interrogativo su ogni riga è errato e Dart lo segnala. La decisione sul cortocircuito viene presa una sola volta, proprio all'inizio della catena.
Si integra con la null safety
La null-shorting si integra con la null safety di Dart. Il compilatore considera che le righe dopo il primo punto vengano eseguite solo su un oggetto reale e presente.
Quando utilizzarla
Usi la null-shorting quando una variabile è nullable e desidera configurarla senza aggiungere un controllo if-null intorno alla cascade.
Verifica rapida
Come si scrive correttamente una cascade null-shorting?
Riepilogo
La null-shorting cascade (?..) esegue l'intera catena solo quando l'oggetto esiste, ignora tutto quando è null e richiede il simbolo una sola volta. 🎯
Impara Dart con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Cascade null-shorting (?..)» è gratuita?
Sì — il testo completo di «Cascade null-shorting (?..)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.
Cosa imparerò in «Cascade null-shorting (?..)»?
Usare cascade in sicurezza su oggetti nullable. Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Dart Academy?
Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Cascade null-shorting (?..)»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Dart Academy?
Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- L'operatore cascade (..)
- Cascade null-shorting (?..)
- Spread e spread null-aware
- if e for nelle collezioni