Baza pytań rekrutacyjnych i wiedzy. Filtruj, szukaj i sprawdzaj swoją wiedzę.
TypeScript to statycznie typowany nadzbiór JavaScript kompilowany do JS. Pomaga wykrywać błędy wcześniej i poprawia narzędzia dzięki typom i autouzupełnianiu.
any wyłącza sprawdzanie typów dla wartości, co ukrywa błędy. Używaj rzadko i preferuj precyzyjne typy.
void oznacza brak wartości zwracanej i używa się go dla funkcji, które nic nie zwracają.
never reprezentuje wartości, które nigdy nie występują, np. funkcje rzucające wyjątek lub nieskończone pętle.
Union types pozwalają, aby wartość miała jeden z kilku typów (np. string | number). Używaj, gdy wartość może mieć wiele sensownych typów.
Intersection types łączą typy w jeden z wszystkimi właściwościami (A & B). Union pozwala, by wartość była jednym z wymienionych typów.
Interfejsy opisują kształt obiektu i mogą być rozszerzane/łączone. Type alias może opisywać prymitywy, uniony, intersection i tuple. Interfejsy do kontraktów obiektów, aliasy do elastycznych kompozycji.
Enumy definiują zestaw nazwanych stałych (liczbowych lub stringowych). Używaj ich dla zamkniętych zestawów wartości dla czytelności.
Tuple to tablice o stałej długości i znanych typach na pozycjach (np. [string, number]).
Type inference to zdolność kompilatora do wywnioskowania typu z kontekstu bez jawnych adnotacji.
Właściwość oznaczasz znakiem ? (np. name?: string). Może istnieć lub być undefined.
Użyj modyfikatora readonly na właściwościach lub typu Readonly<T>, aby zablokować ponowne przypisanie.
Pozwalają, by zmienna miała tylko konkretną wartość string lub ich union, działając jak ograniczony enum.
Pozwalają budować nowe typy string literal przez łączenie innych literal types składnią template (np. `user_${"id" | "name"}`).
Plik deklaracji dostarcza definicje typów dla istniejącego kodu JavaScript lub bibliotek bez implementacji.
Partial robi właściwości opcjonalne, Required wymusza je, Readonly czyni niemutowalne, Record mapuje klucze na typ, Pick/Omit wybierają lub wykluczają pola.
Kompilujesz przez tsc (TypeScript compiler). .ts to czysty TypeScript, a .tsx pozwala na składnię JSX dla React.
tsconfig.json konfiguruje kompilator TypeScript. strictNullChecks traktuje null/undefined jako osobne typy i blokuje ich użycie tam, gdzie wymagane są wartości.
Type guards zawężają uniony na podstawie sprawdzeń w runtime. typeof sprawdza prymitywy, in sprawdza właściwości, instanceof klasy, a własne predykaty zwracają x is Type.
Generics pozwalają pisać wielokrotnego użytku funkcje, klasy i typy działające z różnymi typami przy zachowaniu type safety (np. T, U). Ograniczają powtórzenia i utrzymują silne typowanie.