Null-kortslutande cascades (?..)
Använd cascade säkert på nullable objekt
Null-kortslutande cascades (?..) är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.
Fällan med nullable värden
En vanlig kaskad på ett värde som kan vara null leder till en krasch. Ett metodanrop på null kastar ett fel innan någon rad körs.
Möt null-kortslutning
Dart erbjuder en säker variant: den null-kortslutande kaskaden, som skrivs med frågetecken följt av två punkter. Den körs endast när objektet inte är null.
button?..text = 'Save'
..onTap = save;Så fungerar kortslutningen
Om målet är null hoppas hela kaskaden över och uttrycket blir helt enkelt null. Ingen krasch och inget påbörjat arbete som lämnas ofärdigt.
Endast den första punkten behöver det
Ni skriver frågetecknet endast en gång, på den första kaskaden. De senare raderna använder vanliga dubbla punkter; Dart vet redan att objektet inte är null.
obj?..a()
..b()
..c();Allt eller inget
Null-kortslutning är allt eller inget: antingen körs varje rad eftersom objektet finns, eller ingen rad alls. Kedjan körs aldrig halvvägs.
Jämfört med en vanlig kaskad
En vanlig kaskad förutsätter att objektet finns. Den null-kortslutande varianten är Er säkerhetslösning när typen är nullable och värdet kanske saknas.
Den returnerar nullable
Eftersom resultatet kan vara objektet eller null har hela uttrycket en nullable-typ. Hantera det Ni får tillbaka som ett värde som kan vara null.
Ett verkligt exempel
Föreställ Er en konfiguration som kanske inte finns ännu. Null-kortslutning låter Er konfigurera den endast när den finns, på en enda tydlig rad. 🛡️
settings?..theme = dark
..save();Upprepa inte markeringen
Det är fel att skriva frågetecknet på varje rad, och Dart markerar det som ett fel. Beslutet om kortslutning tas en gång, precis i början av kedjan.
Passar bra med null safety
Null-kortslutning passar in i Darts null safety. Kompilatorn kan lita på att raderna efter den första punkten endast körs på ett verkligt objekt som finns.
När Ni bör använda den
Använd null-kortslutning när en variabel är nullable och Ni vill konfigurera den utan en separat if-null-kontroll runt kaskaden.
Snabb kontroll
Hur skriver Ni en null-kortslutande kaskad korrekt?
Sammanfattning
Den null-kortslutande kaskaden (?..) kör hela kedjan endast när objektet finns, hoppar över allt när det är null och behöver markeringen bara en gång. 🎯
Lär dig Dart med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Null-kortslutande cascades (?..)” gratis?
Ja – hela texten till ”Null-kortslutande cascades (?..)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Null-kortslutande cascades (?..)”?
Använd cascade säkert på nullable objekt Ni övar på Dart Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Dart Academy?
Du behöver inga förkunskaper. Utbildningen i Dart Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Null-kortslutande cascades (?..)”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Dart Academy-lektionen?
Ja. Varje Dart Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Cascade-operatorn (..)
- Null-kortslutande cascades (?..)
- Spread och nullmedveten spread
- Collection if och for