TypeScript (TS1)

Programování, Webové technologie

V tomto školení získáte celkový přehled o nadstavbovém jazyce TypeScript. Teto kurz je hluboce návykový a účastnící po kurzu již nadále nechtějí psát kód v jazyce JavaScript. Prosím pečlivě uvažte, zda tento kurz opravdu zvolíte a tuto revoluci ve firmě necháte rozbujet :-)

Účastníci poznají, jak snadné je okamžitě přejít na TypeScript, aniž by ztratili zpětnou kompatibilitu v aplikacích svých uživatelů. Poznají, proč je TypeScript tak silný při refaktorování starého zdroje JS a při projektech, kde pracuje mnoho vývojářů na jednom projektu. Účastníci se seznámí rovněž s prostředím Node.JS, nutnými konfiguracemi a možnostmi editorů. Především si účastníci u každého bodu osnovy osvojí znalosti na konkrétních use case příkladech, které si ponechají a ke kterým se mohou posléze kdykoliv vracet, pokud si vše nezapamatují.

Lokalita, termín kurzu



Virtuálně se můžete přidat i ke školením ve výše nabízených lokalitách. Do poznámky v objednávce prosím uveďte „Připojím se virtuálně“

Náplň kurzu:

Skrýt detaily
  • Inicializace prostředí a HW
    1. Instalace
    2. Editory
    3. Konfigurace zdroje a výstupu
    4. Co jsou deklarační soubory a zdrojové mapy
    5. Hello World + v prohlížeči
    6. Debugging TS v prohlížeči a Node.JS
  • Nové obecné syntaktické prvky
    1. TS typy proměnných
    2. Zápisy `var`, `let`, `const`
    3. Typy `any`, `unknown`, `never`
    4. Nové iterace
  • Nové prvky syntaxe funkcí
    1. Šipková syntaxe a `lambda` výrazy
    2. Typy argumentů a defaultní hodnoty
    3. Argument jako další funkce
    4. Výstupní typy
    5. Rest argumenty (spread syntaxe)
    6. Kontext `this` a kolekce `arguments`
  • Nové prvky syntaxe třídy nad ES6
    1. Instanční a statické prvky tříd
    2. Dědičnost
    3. Modifikátory přístupu
    4. Modifikátor `readonly`
    5. Syntaxe konstruktorů
    6. Gettery a settery
    7. Modifikátor `abstract`
    8. Volání rodičovských prvků
    9. Vlastní typu třídy (aka `self`) a kl. slovo `typeof`
  • Interfaces
    1. Možnosti syntaxe rozhraní v TS
    2. Dědění z tříd, význam
    3. Ověřování vyhovujícího rozhraní
  • Enums
    1. Význam a použití výčtových / vlajkových typů
    2. Bitový zápis pro více stavů v jediné hodnotě
    3. Ověřování přítomnosti vlajky bitovým posuvem
  • Tupples a vlastní typy
    1. Tupples
    2. Vlastní typy - slučování stringů a čísel
    3. Vlastní typy - usnadnění zápisu:
    4. složitějších callbacků
    5. speci. typovaných objektů
    6. spec. kolekcí
    7. Vlastní typy - další použití
  • Moduly a jmenné prostory (`namespaces`)
    1. Možnosti syntaxe modulů ES6
    2. Syntaxe `import`, `export`, `export default`
    3. Možnosti syntaxe `namespace`
    4. Strategie načítání modulů podle typu aplikace
    5. Konfigurace pro různé typy projektů
    6. (CommonJS, AMD UMD, System, vlastní)
  • Další TypeScript features
    1. Union typy
    2. Intersection typy
    3. Dekorátory
    4. Trojlomítkové direktivy
    5. JSX
  • Generické typy
    1. Význam (případný první kontakt s generickými typy)
    2. Generické třídy
    3. Generické funkce
    4. Omezení generických typů
    5. Typ podle předchozích vstupních hodnot
    6. Typ podle typové mapy
    7. Typ podle klíčů předchozí vstupní kolekce
    8. Další možnosti syntaxe generických typů
  • Asynchronní kód
    1. Typ `Promise` - k čemu slouží
    2. Zápis asynchronního kódu `async` / `await`
    3. Přepis kódu s callbacky do `Promise`
    4. Zachycování asynchronních výjimek
    5. Awaitable Semafory a Mutexy
  • Deklarační soubory
    1. Ambientní kontext ve zdrojovém kódu
    2. Možnosti syntaxe `declare`
    3. Podmíněné typy pomocí `extends` a `infer`
    4. Typy odvozené od argumentů funkcí nebo konstruktorů
    5. Smíšené typy
  • Pokročilé konfigurace
    1. Definice zdrojů pomocí `include`/`exclude`
    2. Implicitní `this`/`any`
    3. Striktní mód
    4. TS pomocné funkce
    5. Iterace kolekcí `Map`, `Set` apod.
    6. Externí a vlastní soubory typových definic
    7. Slučování typových definic
    8. Další pokročilé konfigurace
  • Přechod na TypeScript
    1. Postupný upgrade, starší JS a TS dohromady
    2. Definice typů pro již stávající JS knihovny a třídy
    3. Doplnění funkcí JS chybějících v IE11
  • Asynchronní programování v Node.JS
Předpokládané znalosti:
Znalost OOP v Javascriptu nebo v jiných jazycích a znalost HTML/CSS. Znalost významu generických typů je výhodou.
Doporučený předchozí kurz:
JavaScript pro pokročilé a úvod do Node.js (JVS2)
Časový rozvrh:
3 dny (9:00hod. - 17:00hod.)
Cena kurzu:
17 800,00 Kč (21 538,00 Kč včetně 21% DPH)