All paths
TypeScriptBeginner

TypeScript Essentials

Add types to JavaScript: write TypeScript and actually run it in your browser.

18 chapters68 lessons65 challenges

Course curriculum

Chapter 1: From JavaScript to TypeScript

  • What is TypeScript
  • Annotating types
  • any and unknown

Chapter 2: Typed functions

  • Typed functions
  • Optional and default parameters
  • Functions as a type
  • Rest parameters and overloads

Chapter 3: Objects, interface and type

  • Interface: the shape of objects
  • type, optional and readonly
  • Extending interfaces
  • Index signatures

Chapter 4: Union, narrowing and literal types

  • Union types and narrowing
  • Literal types
  • Advanced narrowing
  • null, undefined and optional chaining

Chapter 5: Generics

  • Generics: reusable code
  • Constraints
  • Generics in interfaces and types
  • Defaults and multiple parameters

Chapter 6: Utility types

  • Utility types: transforming types
  • Pick, Omit, Record
  • More utility types
  • Utilities on functions

Chapter 7: Classes in TypeScript

  • Classes and modifiers
  • Inheritance, abstract and implements
  • Getters, setters and static
  • Generic classes

Chapter 8: Mapped types

  • Mapped types
  • keyof and indexed access
  • Modifiers in mapped types
  • Key remapping with as

Chapter 9: Conditional types and infer

  • Conditional types
  • infer: extracting a type
  • Distributive conditionals
  • infer in multiple positions

Chapter 10: Template literal types

  • Template literal types
  • Putting types together
  • Transforming strings
  • Patterns with keys

Chapter 11: Typed async

  • Typed Promises and async/await
  • Multiple Promises and errors
  • Typing external data
  • Typed errors

Chapter 12: tsconfig and strictness

  • tsconfig.json
  • strict mode
  • Modules: import and export
  • Type-only imports and .d.ts

Chapter 13: Patterns and best practices

  • Discriminated unions
  • Exhaustiveness with never
  • The satisfies operator
  • Avoiding any

Chapter 14: Type Challenges

Chapter 15: Decorators and metadata

  • What a decorator is
  • Class decorators
  • Method decorators
  • Field and accessor decorators

Chapter 16: Declaration files and merging

  • Declaration files and declare
  • Declaration merging
  • Function and namespace merging
  • Module and global augmentation

Chapter 17: Advanced type-level programming

  • Recursive types
  • Variadic tuple types
  • Branded types
  • Key remapping with as

Chapter 18: Senior TypeScript

  • The satisfies operator
  • const type parameters and as const
  • Type-only imports and isolatedModules
  • Type performance and project references

Ready to level up?

Create a free account and start now: earn XP on every challenge and climb the leaderboard.

TypeScript Essentials — LevelUpCode