Fortgeschrittene Type-Level-Programmierung mit TypeScript

Das Typsystem von TypeScript ist eher ungewöhnlich. Einerseits geht es diverse Kompromisse ein, andererseits erlaubt es fähigen Programmierern aber auch, sehr interessante Typbeziehungen auszudrücken.

Dieser Workshop erforscht fortgeschrittene Features des Typsystems, die vielen TS-Nutzern ein Buch mit sieben Siegeln sind oder für Freunde anderer Sprachen gar der Häresie gleichkommen. Du lernst alles über Programmierung auf Typebene und wirfst dabei von einfachen Generics bis hin zu Features wie Mapped Types und Conditional Types alles Mögliche in den Hexenkessel. Werde auch du ein echter TypeScript-Guru und hebe deine TS-Fähigkeiten mit
fortgeschrittenen Features auf die nächste Stufe!

Vorkenntnisse

Solides TypeScript-Vorwissen

Lernziele

- Aus TypeScript-Anwendern TypeScript-Experten machen
- Programmierung auf Typ-Ebene lernen und verstehen
- Use Cases für fortgeschrittene TS-Features kennenlernen

 

Agenda

0. Setup
1. Die Ziele von Typ-Level-Programmierung: Wir arbeiten heraus, welche Ziele wir mit Typ-Level-Programmierung verfolgen können und welche Vorteile wir uns davon erhoffen.
2. Reacap und Rekontextulatisierung: ein kleiner Refresher zu den grundsätzlichen Eckdaten des Typsystem von TypeScript nebst Neubetrachtung einiger Features unter dem Aspekt der Typ-Programmierbarkeit.
3. Kleine Hexereien für datenorientierte Programmierung im Alltag: wir blicken auf diverse Hilfs-Typen, die in TypeScript mitgeliefert werden und re-implementieren sie um mehr über Typ-Level-Programmierung zu lernen.
4. Fortgeschrittene Typ-Magie: Exkurs in die abgefahreneren Features wie etwa Conditional Types und das Infer-Keyword.
5. BYOTP (Bring Your Own Type Problem): wir besprechen gemeinsam Typ-Probleme aus dem Alltag der Teilnehmer!

Zeitplan
9:00 Uhr: Beginn
10:30 - 11:00 Uhr: Pause
12:30 - 13:30 Uhr: Pause
15:00 - 15:30 Uhr: Pause
ca. 16:30 Uhr: Ende

 

Technische Anforderungen:

Es sind keine weiteren Vorbereitungen nötig. Wer möchte, kann gerne https://visualstudio.microsoft.com/de/services/live-share/ installieren - ggf. wird es punktuell genutzt. Es ist aber nicht zwingend notwendig.

Speaker

 

Peter Kröner
Peter Kröner arbeitet als Webtechnologie-Experte im ganzen Land. Seit dem Erscheinen seines Buchs "HTML5: Webseiten innovativ und zukunftssicher" 2010 ist er als Trainer und Berater für JavaScript, HTML5, React, TypeScript und andere Webtechnologien tätig. Zuvor war er selbstständiger Webdesigner und -entwickler. Er bloggt, podcastet und entwickelt Projekte rund um moderne Webtechnologien.


MaibornWolff

enterJS-Newsletter

Ihr möchtet über die enterJS
auf dem Laufenden gehalten werden?

 

Anmelden