Programowanie w języku TypeScript

Tworzenie skalowalnych aplikacji w JavaScript

1 opinia

Format:

epub, mobi, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

50,40  84,00

Format: epub, mobi

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

Cena początkowa: 84,00 zł (-40%)

Najniższa cena z 30 dni: 42,00 zł  


50,40

w tym VAT

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 24,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

Każdy programista dynamicznie typowanego języka wie, jak trudno jest skalować go do wielu wierszy kodu. To dlatego w firmach Facebook, Google i Microsoft wymyślono warstwy do stopniowego wprowadzania statycznej kontroli typów w dynamicznie typowanym kodzie JavaScript i Python. Ta praktyczna książka opisuje, co wyróżnia TypeScript na tle innych warstw typów oraz pokazuje, że dzięki zaawansowanemu systemowi typowania statycznego programowanie staje się przyjemnością.
Jeśli jesteś średniozaawansowanym programistą JavaScript, autor Boris Cherny nauczy Cię, jak opanować język TypeScript. Zrozumiesz, w jaki sposób TypeScript pomaga w eliminowaniu błędów i usprawnia współpracę wielu programistów nad tym samym kodem.
W tej książce:
• Zaczniesz od podstaw: Poznasz różne typy i operatory TypeScript, dowiadując się, do czego służą i jak ich używać.
• Poznasz bardziej zaawansowane zagadnienia: Zrozumiesz zaawansowany system typów TypeScript m.in. jak bezpiecznie obsługiwać błędy i budować programy asynchroniczne.
• Zdobędziesz praktyczne umiejętności: Dowiesz się jak, używać języka TypeScript w połączeniu z ulubionymi frameworkami front-end i back-end, migrować istniejący projekt JavaScript do TypeScripta i uruchomić aplikację TypeScript w środowisku produkcyjnym.


Rok wydania2020
Liczba stron350
KategoriaProgramowanie
WydawcaWydawnictwo Naukowe PWN
TłumaczenieNatalia Chounlamany-Turalska
ISBN-13978-83-01-21122-6
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyePWN sp. z o.o.

Ciekawe propozycje

Spis treści

  Przedmowa XI
  1. Wprowadzenie     1
  2. TypeScript: Ogólny obraz     5
  Kompilator    5
  System typów    7
  TypeScript versus JavaScript    8
  Przygotowanie edytora kodu    11
  tsconfig.json    11
  tslint.json    13
  index.ts    13
  Ćwiczenia    14
  3. Cała prawda o typach     17
  Omawianie typów    18
  Abecadło typów    19
  any    19
  unknown    20
  boolean    21
  number    22
  bigint    23
  string    23
  symbol    24
  Obiekty    25
  Przerwa: aliasy, unie i przecięcia typów    30
  Tablice    33
  typeScript.indb 5 08.04.2020 12:22:24
  Krotki    35
  null, undefined, void oraz never    37
  enum    39
  Podsumowanie    43
  Ćwiczenia    44
  4. Funkcje     45
  Deklarowanie i wywoływanie funkcji    45
  Parametry opcjonalne i domyślne    47
  Parametry reszty    48
  call, apply oraz bind    50
  Typ zmiennej this    50
  Funkcje generatora    52
  Iteratory    53
  Sygnatury wywołań    55
  Wnioskowanie typów z kontekstu    57
  Przeciążone typy funkcji    58
  Polimorfizm    64
  Kiedy wiązane są typy ogólne?    68
  Gdzie można deklarować typy ogólne?    69
  Wnioskowanie typu ogólnego    71
  Aliasy typów ogólnych    72
  Ograniczony polimorfizm    74
  Domyślne typy ogólne    77
  Programowanie sterowane typami    79
  Podsumowanie    80
  Ćwiczenia    80
  5. Klasy i interfejsy     81
  Klasy i dziedziczenie    81
  super    86
  Wykorzystywanie this jako zwracanego typu    87
  Interfejsy    88
  Scalanie deklaracji    90
  Implementacje    91
  Implementowanie interfejsów a rozszerzanie klas abstrakcyjnych    93
  Klasy są typowane strukturalnie    94
  Klasy deklarują zarówno wartości, jak i typy    95
  Polimorfizm    97
  Domieszki    98
  Dekoratory    101
  Symulowanie klas typu final    103
  Wzorce projektowe    104
  typeScript.indb 6 08.04.2020 12:22:24
  Wzorzec Fabryka    104
  Wzorzec Budowniczy    105
  Podsumowanie    107
  Ćwiczenia    107
  6. Typy zaawansowane     109
  Relacje między typami    109
  Typy podrzędne i nadrzędne    110
  Wariancja    111
  Zasady przypisywalności    117
  Rozszerzanie typów    118
  Uściślanie    122
  Kompletność    126
  Zaawansowane typy obiektów    127
  Operatory na typach obiektów    128
  Typ Record    132
  Typy mapowane    133
  Wzorzec obiektu towarzyszącego    135
  Zaawansowane typy funkcji    136
  Poprawianie wnioskowania typów dla krotek    136
  Dozory typów definiowane przez użytkownika    137
  Typy warunkowe    138
  Rozdzielne warunki    139
  Słowo kluczowe infer    140
  Wbudowane typy warunkowe    141
  Drogi ewakuacyjne    142
  Asercje typów    143
  Asercje wykluczające null    144
  Asercje pewnego przypisania    146
  Symulowanie typów nominalnych    147
  Bezpieczne rozszerzanie prototypu    149
  Podsumowanie    151
  Ćwiczenia    151
  7. Obsługa błędów     153
  Zwracanie wartości null    154
  Zgłaszanie wyjątków    155
  Zwracanie wyjątków    157
  Typ Option    159
  Podsumowanie    165
  Ćwiczenia    165
  8. Programowanie asynchroniczne, współbieżność i równoległość     167
  Pętla zdarzeń JavaScriptu    168
  Stosowanie wywołań zwrotnych    170
  Przywracanie porządku przy użyciu obietnic    172
  async i await    176
  Strumienie asynchroniczne    177
  Emitery zdarzeń    178
  Wielowątkowość z zachowaniem bezpieczeństwa typów    181
  W przeglądarce: przy użyciu Web Workers    181
  W NodeJS: z procesami podrzędnymi    189
  Podsumowanie    190
  Ćwiczenia    191
  9. Frameworki front-end i back-end 193
  Frameworki front-end    193
  React    195
  Angular    201
  API zapewniające bezpieczeństwo typów    204
  Frameworki back-end    205
  Podsumowanie    207
  10. Przestrzenie nazw. Moduły     209
  Krótka historia modułów JavaScriptu    210
  import, eksport    212
  Dynamiczne importy    213
  Wykorzystywanie kodu CommonJS i AMD    215
  Tryb modułu a tryb skryptu    216
  Przestrzenie nazw    216
  Kolizje    219
  Wynik kompilacji    219
  Scalanie deklaracji    220
  Podsumowanie    222
  Ćwiczenie    222
  11. Współdziałanie z językiem JavaScript     223
  Deklaracje typów    224
  Otaczające deklaracje zmiennych    227
  Otaczające deklaracje typów    228
  Otaczające deklaracje modułów    229
  Stopniowa migracja z JavaScriptu do TypeScriptu    230
  Krok 1: Dodanie TSC    231
  Krok 2a: Włączenie sprawdzania typów dla JavaScriptu (opcjonalnie)    231
  Krok 2b: Dodanie adnotacji JSDoc (opcjonalnie)    233
  Krok 3: Zmienianie nazw plików na .ts    234
  Krok 4: Włączenie ścisłej kontroli typów    235
  Wyszukiwanie typów dla JavaScriptu    235
  Wykorzystywanie zewnętrznego kodu JavaScriptu    238
  JavaScript, który zawiera deklaracje typów    238
  JavaScript, który ma deklaracje typów w DefinitelyTyped    238
  JavaScript, który nie ma deklaracji typów na DefinitelyTyped    239
  Podsumowanie    240
  12. Budowanie i uruchamianie TypeScriptu     243
  Budowanie projektu TypeScript    243
  Układ projektu    243
  Artefakty    244
  Ustawianie środowiska docelowego kompilacji    245
  Włączanie map źródeł    249
  Odwołania projektów    249
  Monitorowanie błędów    252
  Wykonywanie TypeScriptu na serwerze    252
  Wykonywanie TypeScriptu w przeglądarce    253
  Publikowanie kodu TypeScript w NPM    254
  Dyrektywy z trzema ukośnikami    256
  Dyrektywa types    256
  Dyrektywa amd-module    257
  Podsumowanie    258
  13. Wnioski 259
  A. Operatory na typach     261
  B. Typy pomocnicze     263
  C. Deklaracje w zakresie     265
  D. Wskazówki do pisania plików deklaracji dla zewnętrznych modułów JavaScriptu     267
  E. Dyrektywy z potrójnym ukośnikiem     275
  F. Flagi kompilatora TSC podnoszące bezpieczeństwo     277
  G. TSX     279
  Indeks     282
  O autorze     295
RozwińZwiń