Spis treści
- The Concise TypeScript Book
- Wesprzyj projekt
- Tłumaczenia
- Pliki do pobrania i witryna
- Spis treści
- Wprowadzenie
- O autorze
- Wprowadzenie do TypeScript
- Pierwsze kroki z TypeScript
- Poznawanie systemu typów
- Usługa językowa TypeScript
- Typowanie strukturalne
- Podstawowe reguły porównywania w TypeScript
- Typy jako zbiory
- Przypisywanie typu: deklaracje typów i asercje typów
- Kontrola właściwości i kontrola nadmiarowych właściwości
- Typy słabe
- Ścisła kontrola literałów obiektowych (świeżość)
- Wnioskowanie typów
- Bardziej zaawansowane wnioskowanie
- Poszerzanie typów
- Const
- Jawna adnotacja typu
- Zawężanie typów
- Typy pierwotne
- Adnotacje typów
- Właściwości opcjonalne
- Właściwości tylko do odczytu
- Sygnatury indeksowe
- Rozszerzanie typów
- Typy literałowe
- Wnioskowanie typów literałowych
- strictNullChecks
- Wyliczenia
- Zawężanie typów
- Przypisania
- Analiza przepływu sterowania
- Predykaty typów
- Unie dyskryminowane
- Specjalny typ never
- Sprawdzanie kompletności
- Typy obiektowe
- Typ krotki (anonimowy)
- Nazwany typ krotki (z etykietami)
- Krotka o stałej długości
- Typ unii
- Typy przecięcia
- Indeksowanie typów
- Typ na podstawie wartości
- Typ na podstawie wartości zwracanej przez funkcję
- Typ na podstawie modułu
- Typy mapowane
- Modyfikatory typów mapowanych
- Typy warunkowe
- Dystrybucyjne typy warunkowe
- Wnioskowanie typu infer w typach warunkowych
- Predefiniowane typy warunkowe
- Szablonowe typy unii
- Typ any
- Typ unknown
- Typ void
- Typ never
- Interfejs i typ
- Wbudowane typy proste
- Typowe wbudowane obiekty JavaScript
- Przeciążenia
- Scalanie i rozszerzanie
- Różnice między typem a interfejsem
- Klasa
- Podstawowa składnia klasy
- Konstruktor
- Konstruktory prywatne i chronione
- Modyfikatory dostępu
- Gettery i settery
- Automatyczne akcesory w klasach
- this
- Właściwości parametrów
- Klasy abstrakcyjne
- Z typami generycznymi
- Dekoratory
- Dziedziczenie
- Elementy statyczne
- Inicjalizacja właściwości
- Przeciążanie metod
- Typy generyczne
- Wymazywane typy strukturalne
- Przestrzenie nazw
- Symbole
- Dyrektywy z potrójnym ukośnikiem
- Manipulowanie typami
- Tworzenie typów na podstawie innych typów
- Typy dostępu indeksowanego
- Typy narzędziowe
- Awaited<T>
- Partial<T>
- Required<T>
- Readonly<T>
- Record<K, T>
- Pick<T, K>
- Omit<T, K>
- Exclude<T, U>
- Extract<T, U>
- NonNullable<T>
- Parameters<T>
- ConstructorParameters<T>
- ReturnType<T>
- InstanceType<T>
- ThisParameterType<T>
- OmitThisParameter<T>
- ThisType<T>
- Uppercase<T>
- Lowercase<T>
- Capitalize<T>
- Uncapitalize<T>
- NoInfer<T>
- Inne
- Obsługa błędów i wyjątków
- Klasy domieszkowe
- Asynchroniczne funkcje języka
- Iteratory i generatory
- Dokumentacja TsDocs JSDoc
- @types
- JSX
- Moduły ES6
- Operator potęgowania ES7
- Instrukcja for-await-of
- Metawłaściwość new.target
- Wyrażenia importu dynamicznego
- “tsc –watch”
- Operator asercji non-null
- Deklaracje z wartościami domyślnymi
- Łańcuch opcjonalny
- Operator koalescencji null
- Typy literałów szablonowych
- Przeciążanie funkcji
- Typy rekurencyjne
- Rekurencyjne typy warunkowe
- Obsługa modułów ECMAScript w Node
- Funkcje asercji
- Wariadyczne typy krotek
- Typy opakowujące
- Kowariancja i kontrawariancja w TypeScript
- Sygnatury indeksowe ze wzorcami ciągów szablonowych
- Operator satisfies
- Importy i eksporty wyłącznie typów
- Deklaracja using i jawne zarządzanie zasobami
- Atrybuty importu
- Sprawdzanie składni wyrażeń regularnych
- import defer