Szczegóły ebooka

TypeScript: Skuteczne programowanie, wyd. II. 83 sposoby ulepszania kodu TypeScript

TypeScript: Skuteczne programowanie, wyd. II. 83 sposoby ulepszania kodu TypeScript

Dan Vanderkam

Ebook

TypeScript jest typowanym nadzbiorem języka JavaScript, stanowiącym potencjalne rozwiązanie wielu słynnych bolączek, z którymi borykają się programiści JavaScript. Aby skutecznie programować w TypeScript, musimy poświęcić czas na naukę i praktykę. Niniejsza praktyczna książka, wykorzystująca metody spopularyzowane w książkach Skuteczny nowoczesny C++ (wyd. polskie APN Promise) i Java. Efektywne programowanie (Helion), zawiera omówienie 83 zagadnień wraz z konkretnymi zaleceniami, jak należy korzystać z języka, czego należy unikać, a także jak powinno się go postrzegać.

Autor, Dan Vanderkam, prezentuje praktyczne przykłady zastosowania każdej porady. Dzięki tej książce początkujący i średniozaawansowani programiści znający podstawy TypeScript osiągną poziom ekspertów, doskonale posługujących się tym językiem.

Uaktualnione do wersji TypeScript 5 drugie wydanie zawiera dwa nowe rozdziały na temat programowania na poziomie typów oraz wiele nowych praktycznych przepisów.

- Poznaj praktyczne aspekty systemu typów języka TypeScript

- Używaj inferencji typów, aby uzyskać pełne bezpieczeństwo przy minimalnej liczbie oznaczeń typów

- Definiuj typy, dzięki którym kod będzie bezpieczniejszy i bardziej zrozumiały

- Modeluj złożone API przy użyciu typów generycznych i programowania na poziomie typów

- Dowiedz się, jak działa mechanizm rozwiązywania zależności i pliki deklaracji typów w TypeScript

- Z powodzeniem przenieś swój kod JavaScript do TypeScript

Dan Vanderkam jest niezależnym inżynierem oprogramowania i długotrwałym użytkownikiem, autorem i współtwórcą ekosystemu TypeScript. Pracował jako główny programista w Sidewalk Labs i jako starszy inżynier oprogramowania w Google, gdzie uczestniczył w rozwijaniu funkcji wyszukiwania, wykorzystywanych przez miliardy użytkowników.

"TypeScript. Skuteczne programowanie odpowiada na większość najczęstszych pytań, jakie nasuwają się podczas pracy z TypeScript, a także oferuje porady praktyczne, ukierunkowane na wyniki. Niezależnie od poziomu znajomości TypeScript, z pewnością każdy znajdzie w tej książce coś dla siebie".

-Ryan Cavanaugh

Główny inżynier ds. TypeScript w firmie Microsoft

  • Spis treści
  • Przedmowa do drugiego wydania
  • Przedmowa do pierwszego wydania
    • Poznajemy TypeScript
      • Element 1: Relacja między TypeScript a JavaScript
      • Element 2: Które opcje TypeScript wykorzystujemy
      • Element 3: Generowanie kodu jest niezależne od typów
      • Element 4: Przyzwyczaj się do strukturalnego typowania
      • Element 5: Ograniczanie użycia typu any
    • System typowania TypeScript
      • Element 6: Używanie edytora do sprawdzania i eksploracji systemu typowania
      • Element 7: Typy jako zbiory wartości
      • Element 8: Ustalanie, czy symbol należy do przestrzeni typu czy do przestrzeni wartości
      • Element 9: Deklarujmy typy zamiast stosować asercje typów
      • Element 10: Unikajmy typów opakowujących obiekty (String, Number, Boolean, Symbol, BigInt)
      • Element 11: Limity testowania dodatkowych właściwości
      • Element 12: Stosujmy typy w całych wyrażeniach funkcyjnych, gdy jest to możliwe
      • Element 13: Odróżniajmy typ od interfejsu
      • Element 14: Używajmy readonly, aby uniknąć błędów związanych z mutowaniem
      • Element 15: Używajmy operacji typów i typów generycznych, aby uniknąć powtórzeń
      • Element 16: Korzystajmy z sygnatur indeksów dla danych dynamicznych
      • Element 17: Unikanie liczbowych sygnatur indeksów
    • Wnioskowanie typów i analiza przepływu sterowania
      • Element 18: Unikajmy zaśmiecania kodu typami, które można wywnioskować
      • Element 19: Używajmy różnych zmiennych dla różnych typów
      • Element 20: Rozszerzanie typów
      • Element 21: Tworzenie całych obiektów od razu
      • Element 22: Zawężanie typów
      • Element 23: Zachowajmy spójność w używaniu aliasów
      • Element 24: Jak wykorzystuje się kontekst podczas wnioskowania typów
      • Element 25: Ewolucja typu any
      • Element 26: Korzystajmy z konstrukcji funkcyjnych i bibliotek, aby ułatwić przepływ typów
      • Element 27: Używajmy funkcji asynchronicznych zamiast wywołań zwrotnych
      • Element 28: Używanie klas i rozwijania funkcji do tworzenia nowych punktów wnioskowania
    • Projektowanie typów
      • Element 29: Preferujmy typy, które zawsze reprezentują poprawne stany
      • Element 30: Liberalne podejście do akceptowanych wartości i surowe do zwracanych danych
      • Element 31: Nie powtarzajmy informacji o typie w dokumentacji
      • Element 32: Unikajmy dołączania null lub undefined w aliasach typu
      • Element 33: Przenośmy wartości null poza obręb swojego typu
      • Element 34: Używajmy unii interfejsów zamiast interfejsów z uniami
      • Element 35: Preferujmy bardziej precyzyjne alternatywy typów łańcuchowych
      • Element 36: Używanie oddzielnego typu dla wartości specjalnych
      • Element 37: Ograniczanie użycia właściwości opcjonalnych
      • Element 38: Unikajmy wielokrotnych parametrów o tym samym typie
      • Element 39: Preferujmy typy ujednolicone do modelowania różnic
      • Element 40: Używajmy typów niekompletnych zamiast nieprecyzyjnych
      • Element 41: Nazywajmy typy zgodnie z językiem dziedziny swojego projektu
      • Element 42: Unikajmy typów opartych na danych anegdotycznych
    • Niesolidność i typ any
      • Element 43: Używanie możliwie najwęższego zakresu dla typów any
      • Element 44: Preferujmy warianty bardziej precyzyjne od zwykłego typu any
      • Element 45: Ukrywajmy nie gwarantujące bezpieczeństwa asercje typów w dobrze typowanych funkcjach
      • Element 46: Korzystajmy z typu unknown zamiast any dla wartości nieznanego typu
      • Element 47: Stosujmy bezpieczne pod kątem typów podejście do małpiego łatania
      • Element 48: Unikanie pułapek (nie)solidności
      • Element 49: Śledźmy pokrycie typami, aby zapobiec regresji bezpieczeństwa typów
    • Generyki i programowanie na poziomie typów
      • Element 50: Traktujmy typy generyczne jak funkcje pomiędzy typami
      • Element 51: Unikajmy niepotrzebnych parametrów typów
      • Element 52: Używajmy typów warunkowych zamiast przeciążonych deklaracji
      • Element 53: Jak kontrolować rozkład unii przez typy warunkowe
      • Element 54: Używanie szablonów typów literałów do modelowania DSL i zależności pomiędzy ciągami
      • Element 55: Piszmy testy swoich typów
      • Element 56: Zwróćmy uwagę na to, jak typy są pokazywane
      • Element 57: Preferujmy typy generyczne z rekurencją ogonową
      • Element 58: Rozważmy generowanie kodu jako alternatywę dla złożonych typów
    • Przepisy dla TypeScript
      • Element 59: Używanie typów never do sprawdzania kompletności
      • Element 60: Iterowanie po obiektach
      • Element 62: Korzystajmy z typów mapowanych, aby zapewnić synchronizację wartości
      • Element 62: Używajmy parametrów resztowych i typów krotek do modelowania funkcji o zmiennej liczbie argumentów
      • Element 63: Używajmy opcjonalnych właściwości never do modelowania alternatywy wykluczającej
      • Element 64: Rozważmy stosowanie etykiet dla typowania nominalnego
    • Deklaracje typów i składnia @types
      • Element 65: Umieszczanie kodu TypeScript i @types w deklaracjach devDependencies
      • Element 66: Trzy numery wersji w deklaracjach typów
      • Element 67: Eksportujmy wszystkie typy obecne w publicznych API
      • Element 68: Używajmy TSDoc do tworzenia komentarzy API
      • Element 69: Zdefiniujmy typ dla this w wywołaniach zwrotnych
      • Element 70: Używajmy typów lustrzanych dla oddzielania zależności
      • Element 71: Używajmy rozszerzania modułu do ulepszania typów
    • Pisanie i uruchamianie kodu
      • Element 72: Korzystajmy z funkcjonalności standardu ECMAScript zamiast TypeScript
      • Element 73: Korzystajmy z map kodu źródłowego do debugowania kodu TypeScript
      • Element 74: Rekonstruowanie typów w czasie działania
      • Element 75: Hierarchia DOM
      • Element 76: Tworzenie dokładnego modelu środowiska
      • Element 77: Zależności pomiędzy sprawdzaniem typów a testami jednostkowymi
      • Element 78: Zwracajmy uwagę na wydajność kompilatora
    • Modernizacja i migracja
      • Element 79: Pisanie nowoczesnego kodu JavaScript
      • Element 80: Używajmy @ts-check oraz JSDoc do eksperymentowania z TypeScript
      • Element 81: Używajmy allowJs, aby połączyć kod TypeScript z JavaScript
      • Element 82: Przekształcajmy moduły po kolei, wędrując w górę grafu zależności
      • Element 83: Nie uważajmy migracji za zakończoną przed włączeniem opcji noImplicitAny
    • Odwzorowanie elementów pomiędzy pierwszym i drugim wydaniem
  • Indeks
  • O autorze
  • Polecamy także:
  • Tytuł: TypeScript: Skuteczne programowanie, wyd. II. 83 sposoby ulepszania kodu TypeScript
  • Autor: Dan Vanderkam
  • ISBN: 9788375415612, 9788375415612
  • Data wydania: 2024-09-06
  • Format: Ebook
  • Identyfikator pozycji: e_41xi
  • Wydawca: Promise