Читать книгу Programowanie w TypeScript - Boris Cherny - Страница 5

Оглавление

Spis treści

Przedmowa

1. Wprowadzenie

2. TypeScript: Ogólny obraz

Kompilator

System typów

JavaScript versus TypeScript

Przygotowanie edytora kodu

tsconfig.json

tslint.json

index.ts

Ćwiczenia

3. Cała prawda o typach

Omawianie typów

Abecadło typów

any

unknown

boolean

number

bigint

string

symbol

Obiekty

Przerwa: aliasy, unie i przecięcia typów

Tablice

Krotki

null, undefined, void oraz never

enum

Podsumowanie

Ćwiczenia

4. FunkcjeDeklarowanie i wywoływanie funkcji

Parametry opcjonalne i domyślne

Parametry reszty

call, apply oraz bind

Typ zmiennej this

Funkcje generatora

Iteratory

Sygnatury wywołań

Wnioskowanie typów z kontekstu

Przeciążone typy funkcji

Polimorfizm

Kiedy wiązane są typy ogólne?

Gdzie można deklarować typy ogólne?

Wnioskowanie typu ogólnego

Aliasy typów ogólnych

Ograniczony polimorfizm

Domyślne typy ogólne

Programowanie sterowane typami

Podsumowanie

Ćwiczenia

5. Klasy i interfejsy

Klasy i dziedziczenie

super

Wykorzystywanie this jako zwracanego typu

Interfejsy

Scalanie deklaracji

Implementacje

Implementowanie interfejsów a rozszerzanie klas abstrakcyjnych

Klasy są typowane strukturalnie

Klasy deklarują zarówno wartości, jak i typy

Polimorfizm

Domieszki

Dekoratory

Symulowanie klas typu final

Wzorce projektowe

Wzorzec Fabryka

Wzorzec Budowniczy

Podsumowanie

Ćwiczenia

6. Typy zaawansowaneRelacje między typami

Typy podrzędne i nadrzędne

Wariancja

Zasady przypisywalności

Rozszerzanie typów

Uściślanie

Kompletność

Zaawansowane typy obiektów

Operatory na typach obiektów

Typ Record

Typy mapowane

Wzorzec obiektu towarzyszącego

Zaawansowane typy funkcji

Poprawianie wnioskowania typów dla krotek

Dozory typów definiowane przez użytkownika

Typy warunkowe

Rozdzielne warunki

Słowo kluczowe infer

Wbudowane typy warunkowe

Drogi ewakuacyjne

Asercje typów

Asercje wykluczające null

Asercje pewnego przypisania

Symulowanie typów nominalnych

Bezpieczne rozszerzanie prototypu

Podsumowanie

Ćwiczenia

7. Obsługa błędów

Zwracanie wartości null

Zgłaszanie wyjątków

Zwracanie wyjątków

Typ Option

Podsumowanie

Ćwiczenia

8. Programowanie asynchroniczne, współbieżność i równoległość

Pętla zdarzeń JavaScriptu

Stosowanie wywołań zwrotnych

Przywracanie porządku przy użyciu obietnic

async i await

Strumienie asynchroniczne

Emitery zdarzeń

Wielowątkowość z zachowaniem bezpieczeństwa typów

W przeglądarce: przy użyciu Web Workers

W NodeJS: z procesami podrzędnymi

Podsumowanie

Ćwiczenia

9. Frameworki front-end i back-endFrameworki front-end

React

Angular

API zapewniające bezpieczeństwo typów

Frameworki back-end

Podsumowanie

10. Przestrzenie nazw. Moduły

Krótka historia modułów JavaScriptu

import, eksport

Dynamiczne importy

Wykorzystywanie kodu CommonJS i AMD

Tryb modułu a tryb skryptu

Przestrzenie nazw

Kolizje

Wynik kompilacji

Scalanie deklaracji

Podsumowanie

Ćwiczenie

11. Współdziałanie z językiem JavaScriptDeklaracje typów

Otaczające deklaracje zmiennych

Otaczające deklaracje typów

Otaczające deklaracje modułów

Stopniowa migracja z JavaScriptu do TypeScriptu

Krok 1: Dodanie TSC

Krok 2a: Włączenie sprawdzania typów dla JavaScriptu (opcjonalnie)

Krok 2b: Dodanie adnotacji JSDoc (opcjonalne)

Krok 3: Zmienianie nazw plików na .ts

Krok 4: Włączenie ścisłej kontroli typów

Wyszukiwanie typów dla JavaScriptu

Wykorzystywanie zewnętrznego kodu JavaScriptu

JavaScript, który zawiera deklaracje typów

JavaScript, który ma deklaracje typów w DefinitelyTyped

JavaScript, który nie ma deklaracji typów na DefinitelyTyped

Podsumowanie

12. Budowanie i uruchamianie TypeScriptuBudowanie projektu TypeScriptu

Układ projektu

Artefakty

Ustawianie środowiska docelowego kompilacji

Włączanie map źródeł

Odwołania projektów

Monitorowanie błędów

Wykonywanie TypeScriptu na serwerze

Wykonywanie TypeScriptu w przeglądarce

Publikowanie kodu TypeScriptu w NPM

Dyrektywy z trzema ukośnikami

Dyrektywa types

Dyrektywa amd-module

Podsumowanie

13. Wnioski

A. Operatory na typach

B. Typy pomocnicze

C. Deklaracje w zakresie

D. Wskazówki do pisania plików deklaracji dla zewnętrznych modułów JavaScriptu

E. Dyrektywy z potrójnym ukośnikiem

F. Flagi kompilatora TSC podnoszące bezpieczeństwo

G. TSX

O autorze

Przypisy

Programowanie w TypeScript

Подняться наверх