Peter Kröner
Where we're going we don't need JavaScript - Programming with Type Annotations
#1about 2 minutes
Viewing TypeScript type annotations as a language
TypeScript's type system can be treated as its own functional, set-based programming language.
#2about 2 minutes
Mapping JavaScript syntax to TypeScript type constructs
Learn how JavaScript concepts like variables, functions, and objects correspond to type aliases, generics, and object types.
#3about 2 minutes
Understanding the set-based nature of TypeScript types
All types are fundamentally sets or unions, which simplifies operations and eliminates the need for explicit loops.
#4about 2 minutes
Building a type-level function to filter union types
A practical example demonstrates how to create a generic type that uses conditionals to filter null from a union.
#5about 3 minutes
The motivation for programming with type annotations
Using type-level programming allows you to abstract and enforce core business logic, similar to how high-level languages abstract machine code.
#6about 2 minutes
Deriving concrete types from abstract business rules
Instead of writing types manually, define core business rules as abstract types and then derive all concrete implementation types from them.
#7about 4 minutes
A practical example of a type-safe message bus
The challenge of building a type-safe message bus for a browser extension is introduced as a use case for type-level programming.
#8about 5 minutes
Using generics and keyof to enforce message contracts
The `send` and `on` methods are made type-safe by using generics, the `keyof` operator, and indexed access types derived from a central payload map.
#9about 3 minutes
The benefits of deriving types from first principles
Deriving types from a central source of truth ensures consistency and provides type-level automation across your entire project.
#10about 4 minutes
Q&A on performance, interfaces, and advanced learning
The speaker answers audience questions about runtime performance, the difference between `type` and `interface`, and how to learn advanced TypeScript patterns.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
Don't compromise on speedy delivery nor type-safety by choosing TypeScript
Jens Claes
Advanced Typing in TypeScript
Lars Hupel
Lies we Tell Ourselves As Developers
Stefan Baumgartner
All you need is types
Tal Joffe
4 Steps from JavaScript to TypeScript
Phil Nash
Building software that scales with Typescript
Tal Joffe
Do TypeScript without TypeScript
Simone Sanfratello
The Art and Craft of Type Development
Michael Hladky & Stefan Baumgartner
From learning to earning
Jobs that call for the skills explored in this talk.
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)

Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL
Typescript Solution Architect (Berlin, Hamburg, München, Köln, Leipzig & Erfurt) Typescript Solution Architect (Berlin, Hamburg, München, Köln, Leipzig & Erfurt)
Recruitment Circle GmbH
Erfurt, Germany
€80-100K
DevOps
TypeScript
Intermediate TypeScript Engineer
GenTrack
Charing Cross, United Kingdom
€48K
Intermediate
GIT
Java
.NET
Python
+5
TypeScript Developer For a customer we are looking for a Senior TypeScript Developer that will contribute to the further development of an event-driven middleware platform.
V-IT
Brussels, Belgium
Senior
API
Java
REST
Azure
Linux
+9





