Co to jest union i zawężanie typu?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Union opisuje kilka dozwolonych możliwości. Na przykład wynik może być sukcesem z danymi albo błędem z komunikatem. Zawężanie oznacza sprawdzenie, z którą możliwością mamy do czynienia, żeby bezpiecznie użyć odpowiednich pól.
Jeśli obiekt ma status: 'success', TypeScript może wiedzieć, że dostępne jest data. Przy status: 'error' dostępne będzie message. Dzięki temu nie potrzebuję wielu niezależnych flag i nie tworzę przypadkowo stanu „sukces i błąd jednocześnie”. Typ pomaga opisać dopuszczalne dane, ale reguły przechodzenia między stanami nadal trzeba napisać w programie.
Dlaczego to ważne: Przydaje się w UI, API i obsłudze pracy agenta.
Możliwe dopytania: Jak wymusić obsłużenie wszystkich wariantów w switch?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Przećwicz w kodzie
- Zgoda na konkretną propozycję — uruchamia testy w przeglądarce
Dalsza lektura
- TypeScript Handbook: Narrowing(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Zawężanie, discriminated unions i exhaustiveness.