Inferencja typów i any a unknown
Zobaczą Państwo, jak TypeScript wnioskuje typy, poznają różnicę między any i unknown oraz dowiedzą się, jak const zmienia inferencję.
Inferencja typów i any a unknown to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 2 z 3. 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 TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 3 lekcji w sumie.
Wprowadzenie
Cel: Dowiedzieć się, jak TS wnioskuje typy na podstawie wartości, oraz porównać any z unknown pod kątem bezpieczeństwa.
Wnioskowanie z let i const
Wnioskowanie: let wnioskuje szeroki typ (number). const wnioskuje typ literałowy ("TS").
let count = 5;
// inferred number
const title = "TS";
// inferred literal type "TS"
console.log(count, title);as const
as const zachowuje typy literałowe, zamrażając wartości jako readonly. Jest to przydatne w przypadku wyliczeń i tablic konfiguracyjnych.
const colors = ["red", "green", "blue"] as const;
// type is readonly ["red","green","blue"]
console.log(colors);Typ any
any wyłącza sprawdzanie typów. Zapewnia swobodę, ale usuwa bezpieczeństwo: błędy przechodzą kompilację i powodują awarie w czasie działania.
let flexible: any = 42;
lexible = "hello";
flexible.nonexistentMethod();
// no error at compile time!Typ unknown
unknown wymusza sprawdzenie typu przed użyciem. Jest bezpieczniejszy niż any, ponieważ nie można bez sprawdzenia wywoływać metod.
let input: unknown = "hello";
// Must narrow before use
if (typeof input === "string") {
console.log(input.toUpperCase());
}Kiedy używać
Wskazówka: W przypadku większości zmiennych należy preferować wnioskowanie. Jawnych adnotacji należy używać dla większej czytelności. Należy unikać any; gdy typ nie jest jeszcze znany, lepiej użyć unknown.
Sprawdzenie any i unknown
Szybkie sprawdzenie: Jaka jest główna różnica między any a unknown?
Podsumowanie
Podsumowanie: TS automatycznie wnioskuje typy. const zawęża je do literałów, a as const blokuje wartości. any wyłącza bezpieczeństwo, natomiast unknown wymusza sprawdzanie.
Często zadawane pytania
Czy lekcja „Inferencja typów i any a unknown” jest bezpłatna?
Tak — pełny tekst „Inferencja typów i any a unknown” 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 TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Inferencja typów i any a unknown”?
Zobaczą Państwo, jak TypeScript wnioskuje typy, poznają różnicę między any i unknown oraz dowiedzą się, jak const zmienia inferencję. Ćwiczysz TypeScript 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ąć TypeScript Academy?
Nie wymagamy żadnego doświadczenia. TypeScript 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 3.
Ile czasu zajmuje lekcja „Inferencja typów i any a unknown”?
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 TypeScript Academy?
Tak. Każda lekcja TypeScript 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
- Typy prymitywne i adnotacje
- Inferencja typów i any a unknown
- Typy unii i literałów (wprowadzenie do zawężania)