Kaskady przerywane przez null (?..)
Bezpieczne tworzenie kaskad na obiektach nullable
Kaskady przerywane przez null (?..) to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.
Pułapka wartości null
Zwykła kaskada użyta na wartości, która może być null, zakończy się błędem. Wywołanie metody na null zgłasza błąd, zanim wykona się choć jedna linia.
Poznajmy kaskadę z pomijaniem dla null
Dart udostępnia bezpieczną wersję: kaskadę z pomijaniem dla null, zapisywaną jako znak zapytania, a następnie dwie kropki. Wykonuje się ona tylko wtedy, gdy obiekt nie jest null.
button?..text = 'Save'
..onTap = save;Jak działa pomijanie
Jeśli obiektem docelowym jest null, cała kaskada zostaje pominięta, a wyrażenie po prostu przyjmuje wartość null. Bez błędu i bez częściowo wykonanej pracy.
Tylko pierwsza kropka tego potrzebuje
Znak zapytania zapisuje się tylko raz, przy pierwszej kaskadzie. W kolejnych wierszach pozostają zwykłe dwie kropki, ponieważ Dart wie już, że obiekt nie jest null.
obj?..a()
..b()
..c();Wszystko albo nic
Pomijanie dla null działa na zasadzie wszystko albo nic: albo wykonują się wszystkie linie, ponieważ obiekt istnieje, albo nie wykonuje się żadna. Łańcuch nigdy nie kończy się w połowie.
W porównaniu ze zwykłą kaskadą
Zwykła kaskada zakłada, że obiekt istnieje. Wersja z pomijaniem dla null zapewnia bezpieczeństwo, gdy typ dopuszcza null, a wartość może być nieobecna.
Zwraca wartość nullable
Ponieważ wynikiem może być obiekt albo null, całe wyrażenie ma typ nullable. Otrzymaną wartość należy traktować jako potencjalnie równą null.
Praktyczny przykład
Wyobraźmy sobie konfigurację, która może jeszcze nie istnieć. Pomijanie dla null pozwala skonfigurować ją tylko wtedy, gdy jest dostępna, w jednym czytelnym wierszu. 🛡️
settings?..theme = dark
..save();Nie powtarzaj znaku
Zapisywanie znaku zapytania w każdym wierszu jest nieprawidłowe i Dart to zgłosi. Decyzja o pomijaniu jest podejmowana raz, dokładnie na początku łańcucha.
Dobrze współgra z null safety
Pomijanie dla null dobrze pasuje do mechanizmu null safety w Dart. Kompilator ufa, że wiersze po pierwszej kropce wykonują się wyłącznie na rzeczywistym, istniejącym obiekcie.
Kiedy warto tego użyć
Pomijania dla null należy użyć, gdy zmienna ma typ nullable i chcą Państwo ją skonfigurować bez dodatkowego sprawdzania if-null wokół kaskady.
Szybkie sprawdzenie
Jak poprawnie zapisać kaskadę z pomijaniem dla null?
Podsumowanie
Kaskada z pomijaniem dla null (?..) wykonuje cały łańcuch tylko wtedy, gdy obiekt istnieje, pomija wszystko, gdy jest null, i wymaga znaku tylko raz. 🎯
Często zadawane pytania
Czy lekcja „Kaskady przerywane przez null (?..)” jest bezpłatna?
Tak — pełny tekst „Kaskady przerywane przez null (?..)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Kaskady przerywane przez null (?..)”?
Bezpieczne tworzenie kaskad na obiektach nullable Ćwiczysz Dart Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Dart Academy?
Nie wymagamy żadnego doświadczenia. Dart Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Kaskady przerywane przez null (?..)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Dart Academy?
Tak. Każda lekcja Dart Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Operator kaskadowy (..)
- Kaskady przerywane przez null (?..)
- Spread i spread uwzględniający null
- Collection if i for