Ta lekcja jest w bazie eduweb

Zaloguj się kontem z dostępem albo wykup dostęp do bazy, żeby obejrzeć wideo.

Lekcja 10/ 24Wszystko o obiektach

0:00 / 0:00

TypeScript: Wszystko o obiektach

2 godz. 35 min wideo24 lekcje6 modułów

Czego się nauczysz

  • Jak typować "this" w TypeScript?
  • Typy generyczne i ograniczenia generyczne
  • Przeciążenia funkcji i Type Queries (Utility Types)
  • Typowanie obiektów i Mapped Types
  • Wszystko o typie enum oraz Type Guards
  • Wszystko o pliku tsconfig.json
  • Strategie migracji istniejących projektów
  • Dobre praktyki pracy z TypeScript

TypeScript - Techniki Zaawansowane

Kurs, który masz przed sobą to dopełnienie Kursu Podstawowego TypeScript, który znajdziesz na eduweb.pl. W tym, skondensowanym materiale Adam Gospodarczyk na praktycznych przykładach wprowadzi Cię w trudniejsze i bardziej zaawansowane mechanizmy TypeScript, który stał się jedną z obowiązkowych pozycji w resume każdego web developera. W kursie dowiesz się między innymi, jak pracować ze złożonymi typami, ich definicjami, konfiguracją czy type guards. To jeden z najważniejszych kursów do przerobienia dla każdego, kto zajmuje się front-endem i web developmentem. Miłego odbioru!

Po co nam statyczne typowanie?

Zacznijmy od tego, że JavaScript jest dynamicznie typowany. Oznacza to, że typy zmiennych mogą się zmieniać w czasie wykonywania programu, a my nie mamy nad nimi kontroli. A po co nam ta kontrola? Między innymi po to, aby przypadkowo nie dodać typu number do string lub przekazać do funkcji nieprawidłowe danych. Ogromną zaletą jest to, że o tego typu błędach dowiadujemy się już na etapie pisania kodu a nie dopiero w trakcie jego wykonywania... na produkcji.

Co z istniejącymi projektami JavaScript?

TypeScript umożliwia stosunkowo prostą migrację istniejących projektów JavaScript. W kursie na przykładzie zostały omówione trzy strategie, dzięki którym jesteśmy w stanie dodać statyczne typowanie do istniejącego kodu. W procesie migracji najważniejsze jest to, że przepisywanie kodu jesteśmy w stanie uzależnić również od poziomu naszej wiedzy na temat TypeScriptu i stopniowo dodawać kolejne elementy.

Dodatkowa składnia = więcej pracy?

Na pierwszy rzut oka można uznać, że TypeScript tylko dodaje nam pracy, wymuszając dodatkową konfigurację oraz opisywanie typów. Mało tego zwiększa barierę wejścia w projekt dla mniej doświadczonych programistów. Trudno temu zaprzeczyć ALE - korzyści płynące ze statycznego typowania które wpływają na zmniejszenie liczby błędów oraz wykrywanie ich nawet na poziomie pisania kodu, oszczędzają czas który normalnie poświęcilibyśmy na późniejsze debugowanie aplikacji. Poza tym zwiększenie stabilności aplikacji daje szerokie korzyści biznesowe, które wielokrotnie wynagradzają nam czas wymagany na pisanie dodatkowej składni.

Dlaczego TypeScript?

JavaScript jest językiem dynamicznie typowanym. W trakcie wykonywania programu, zmienne mogą zmieniać swój typ a my nie zawsze mamy nad tym świadomą kontrolę. Tylko ... po co nam ta kontrola? Główną zaletą statycznego typowania jest to aby uniknąć sytuacji w których przypadkowo przypisujemy tekst do zmiennej która powinna zawierać liczbę lub sytuacji w której przekazujemy do funkcji nieprawidłowe dane. Taki rodzaj pomyłek generuje błędy odniesienia (eng. ReferenceError), które zatrzymują działanie skryptu i są momentami bardzo uciążliwe do wykrycia. Dzięki statycznemu typowaniu, jesteśmy w stanie wykrywać je na etapie pisania kodu.

Czy warto uczyć się TypeScript’u?

TypeScript na przestrzeni ostatnich lat zyskuje ogromną popularność w społeczności programistów JavaScript i coraz częściej jest nieodłącznym elementem ofert o pracę. W przypadku firm nastawionych na rozwój rozbudowanych aplikacji JavaScript już teraz jest w zasadzie standardem. Biorąc pod uwagę fakt, że najnowsze frameworki (np. Nest.js) wykorzystują TypeScript domyślnie, nauka tej technologii ma ogromny sens w kontekście rozwoju jako programista. I ostatnim argumentem za tym aby wziąć TypeScript na poważnie jest to, że stoi za nim firma Microsoft a on sam rozwijany jest już niemal 10 lat.

Dla kogo jest ten kurs?

Ten kurs został stworzony z myślą o programistach, którzy podstawy TypeScriptu mają już za sobą i chcą poznać jego zaawansowane techniki. Aby w pełni wykorzystać wiedzę z tego kursu, niezbędna jest również zaawansowana znajomość JavaScriptu a w szczególności jego elementów prowadzonych w wersji ES6+. Zdecydowanie polecamy przerobienie kursu Podstawowego TypeScript, który znajdziesz na eduweb, przed korzystaniem z tego materiału.

Wersja oprogramowania: 3.9+

Kurs TypeScript

6 rozdziałów24 lekcje2h 35min

Wprowadzenie

7min
  • Wprowadzenie4min(zablokowana)
  • Słowem wstępu3min(zablokowana)

Zaawansowane typy

1h 12min
  • Powtórka z this9min(zablokowana)
  • Typowanie this6min(zablokowana)
  • Typy generyczne11min(zablokowana)
  • Ograniczenia generyczne7min(zablokowana)
  • Function overload8min(zablokowana)
  • Type queries10min(zablokowana)
  • Mapped types9min(zablokowana)
  • Wszystko o obiektach6min(zablokowana)
  • Wszystko o typie enum7min(zablokowana)

Type guards

  • Czym jest Type Guard?5min(zablokowana)
  • Instanceof6min(zablokowana)
  • Custom Guards(zablokowana)

Definicje typów

10min
  • Definicje typów4min(zablokowana)
  • Pliki .d.ts6min(zablokowana)

tsconfig.json

27min
  • Struktura tsconfig.json4min(zablokowana)
  • Uwzględnianie i wykluczanie plików5min(zablokowana)
  • Ustawienia kompilacji10min(zablokowana)
  • Source mapy3min(zablokowana)
  • CLI4min(zablokowana)

Podsumowanie

20min
  • Migracja do TypeScript12min(zablokowana)
  • Dobre praktyki6min(zablokowana)
  • Podsumowanie2min(zablokowana)

Ten kurs jest w bazie eduweb

Dostęp do wszystkich kursów z bazy eduweb za 199 zł/mies.

Wykup dostęp do bazy

Autor kursu

Średnia ocen autora: 4,7

Bio

Nazywam się Adam Gospodarczyk, jestem designerem i full-stack developerem. Przez całą swoją karierę zawodową pracuję w świecie startupów z branży edukacji, szkoleń pracowników oraz rekrutacji. Jestem współzałożycielem trzech produktów, które rozwijałem w roli CTO od samego początku. Przez ten czas zdobyłem szerokie doświadczenie znacznie wykraczające poza zakres samej technologii. W maju 2017 roku założyłem kanał na YouTube „overment” (https://overment.com) w ramach side-project’u po godzinach. Dziś jest to jeden z największych w Polsce tego typu projektów dla programistów za który otrzymałem nagrodę „JavaScript Hero of Community” podczas konferencji JS Poland 2019. Łącząc moje startup’owe doświadczenie z pasją do technologii, pomogę Ci nauczyć się programowania patrząc szerzej na perspektywę całego biznesu - jest to doceniana przez pracodawców umiejętność, którą wiele osób całkowicie pomija. Przy tym wszystkim pokażę Ci jak ważna jest regularna nauka i pozostawanie na bieżąco.