Skip to main content
eLearner.app

Interactive course

TypeScript Course

Master TypeScript, the typed superset of JavaScript. Learn how to write safer and more robust code using primitive types, interfaces, type aliases, union types, type narrowing, and generic programming (Generics).

Static verification via keywords + execution on the official TypeScript Playground (one click for copy code + open).

01 · TypeScript Fundamentals

2 lessons

The foundations of the type system: annotations for primitive types, function parameters, arrays, and tuples.

  1. 1.1Primitive Types and AnnotationsLearn to add explicit type annotations to variables and functions to prevent compile-time bugs.~10 min
  2. 1.2Arrays and TuplesWorking with homogeneous collections (arrays) and fixed-length, fixed-element tuples.~10 min

02 · Types and Interfaces

2 lessons

Create complex data shapes with interfaces and aliases, and work with flexible union types.

  1. 2.1Type Aliases vs InterfacesUnderstand the difference between defining object shapes using an Interface or a Type Alias.~12 min
  2. 2.2Unions and NarrowingWork with variables accepting multiple types (Union Types) and narrowing the types at runtime (Type Narrowing).~15 min

03 · Generics and Functions

2 lessons

Functions with optional parameters, function type signatures, and the powerful world of Generics.

  1. 3.1Typed FunctionsSpecify optional parameters, define complex signatures, and export function type definitions.~12 min
  2. 3.2Fundamental GenericsWrite reusable, type-safe code using generic type parameters for functions and interfaces.~15 min

04 · Classes and Utility Types

2 lessons

Object-oriented programming with classes and built-in utility types to transform existing types.

  1. 4.1Classes and ModifiersWrite classes with access modifiers (public, private, readonly) and implement interfaces.~15 min
  2. 4.2Utility TypesSimplify and reuse existing types using Partial, Readonly, Pick, and Omit.~15 min

05 · Advanced Types and Guards

2 lessons

Deepen your understanding of the type system with custom type guards, literal types, type assertions, and template literal types.

  1. 5.1Type GuardsLearn to create custom type guards using type predicates for safe narrowing.~15 min
  2. 5.2Literal Types and AssertionsWork with precise literal types, template literal types, and assert types at runtime with as and as const.~15 min

06 · Conditional and Mapped Types

2 lessons

Learn how to create dynamic types and transform existing types using conditional types, the infer operator, and mapped types.

  1. 6.1Conditional Types and inferLearn to use the type ternary operator (T extends U ? X : Y) and extract dynamic types with infer.~15 min
  2. 6.2Mapped TypesTransform and create new types by mapping over the keys of existing types ({ [K in keyof T]: ... }).~15 min

07 · Configuration and Integration

2 lessons

Discover how to configure the TypeScript compiler using tsconfig.json and extend existing types with declaration merging.

  1. 7.1Configuration with tsconfig.jsonDiscover key options of the tsconfig.json file like target, module, strict and how they affect compilation.~12 min
  2. 7.2Declarations and MergingExtend external libraries and write declaration files (.d.ts) with Declaration Merging.~15 min