Choose your language
TypeScript Crash Course
Over 400,000 professionals on the platform
Exclusive for businesses

TypeScript Crash Course

Stop shipping JavaScript bugs that TypeScript would have caught before your code ever ran. This crash course takes you from zero to production-ready, covering core types, generics, advanced type manipulation, and real-world tooling. Whether you're building React UIs, Node.js APIs, or large-scale applications, you'll write cleaner, safer code from day one.

Dedika for students

What your team will master:

You'll start by setting up a professional TypeScript environment and understanding how the compiler works. From there, you'll master core types, interfaces, and object-oriented patterns before moving into generics and advanced type manipulation. The course covers asynchronous TypeScript, module organisation, and declaration files so you can confidently use any npm package. You'll also learn how to integrate TypeScript into build pipelines, write typed unit tests, and enforce code quality with ESLint. Supplementary sections cover TypeScript with React, Node.js APIs, decorators, and migrating existing JavaScript codebases.

How your team learns in practice TypeScript Crash Course

How your team practises TypeScript Crash Course

Professionals from these companies study at Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Course content

8 Chapters • 36 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

TypeScript Foundations and Setup

  • Lesson 1 • Writing and Compiling Your First Program

    Write a minimal TypeScript file, compile it, and inspect the JavaScript output. Connects theory to practice by showing the full authoring cycle.

  • Lesson 2 • Installing and Configuring the Toolchain

    Install Node.js, the TypeScript compiler, and a code editor with TypeScript support. Produces a ready-to-use local development environment.

  • Lesson 3 • The tsconfig.json File

    Understand every major compiler option in tsconfig.json and how they affect output. Enables precise project-level control over type checking and emit behaviour.

  • Lesson 4 • What TypeScript Is and Why It Matters

    TypeScript's relationship to JavaScript, its compile-to-JS model, and the problems it solves. Sets the conceptual foundation for every subsequent topic.

Chapter 2See details

Core Types and Type Annotations

  • Lesson 1 • Type Inference and the any Type

    Understand when TypeScript infers types automatically and when explicit annotations are required. Explains why overusing any undermines the type system.

  • Lesson 2 • Arrays, Tuples, and Enums

    Type fixed and variable-length collections and define named constant sets with enums. Covers the most common structured data patterns in everyday TypeScript code.

  • Lesson 3 • Object Types and Type Aliases

    Define object shapes inline and with reusable type aliases. Teaches how to model domain data clearly and avoid repetition across a codebase.

  • Lesson 4 • Primitive Types

    Cover string, number, boolean, null, undefined, symbol, and bigint with their behavioural differences. Provides the atomic building blocks for all typed expressions.

  • Lesson 5 • Functions: Parameters and Return Types

    Annotate function signatures, optional parameters, default values, and rest parameters. Ensures functions are self-documenting and type-safe at every call site.

Chapter 3See details

Interfaces and Object-Oriented Patterns

  • Lesson 1 • Access Control and Encapsulation

    Apply private fields, getters, setters, and readonly to protect internal state. Reinforces encapsulation as a design discipline within TypeScript classes.

  • Lesson 2 • Defining and Using Interfaces

    Declare interfaces to describe object shapes and function signatures. Establishes the primary contract mechanism used throughout object-oriented TypeScript.

  • Lesson 3 • Implementing Interfaces with Classes

    Use the implements keyword to bind classes to interface contracts. Shows how to design loosely coupled systems that are easy to test and swap.

  • Lesson 4 • Classes in TypeScript

    Define classes with typed properties, constructors, and methods. Builds on interface knowledge to show how classes implement and enforce contracts.

  • Lesson 5 • Inheritance and Polymorphism

    Extend classes and override methods while preserving type safety. Demonstrates how TypeScript enforces Liskov substitution through its type checker.

Chapter 4See details

Generics and Reusable Code

  • Lesson 1 • Generic Constraints

    Restrict type parameters with extends constraints to access specific properties safely. Prevents runtime errors by narrowing what types a generic can accept.

  • Lesson 2 • Generic Interfaces and Classes

    Apply type parameters to interfaces and classes to create reusable data structures. Extends interface and class knowledge into parameterised, multi-type designs.

  • Lesson 3 • Introduction to Generics

    Understand the problem generics solve and write the first generic function. Connects to prior function typing knowledge by showing how type parameters generalise signatures.

  • Lesson 4 • Utility Types Built on Generics

    Use TypeScript's built-in utility types such as Partial, Required, Readonly, and Pick. Demonstrates how the standard library leverages generics for everyday transformations.

Chapter 5See details

Advanced Types and Type Manipulation

  • Lesson 1 • Conditional Types

    Write types that resolve differently based on a condition using T extends U ? X : Y. Unlocks expressive type-level logic for library and framework authors.

  • Lesson 2 • Union and Intersection Types

    Combine types with | and & to express values that can be one of several shapes. Provides the foundation for discriminated unions and type narrowing.

  • Lesson 3 • Mapped Types

    Transform existing types by iterating over their keys with mapped type syntax. Enables systematic property transformations without manual duplication.

  • Lesson 4 • Template Literal Types

    Construct string types dynamically using template literal syntax at the type level. Enables precise typing of string patterns such as event names and CSS properties.

  • Lesson 5 • Type Narrowing and Guards

    Narrow union types using typeof, instanceof, in, and custom type predicates. Enables safe access to type-specific members after a conditional check.

Chapter 6See details

Modules, Namespaces, and Project Structure

  • Lesson 1 • Path Aliases and Project References

    Configure path aliases in tsconfig.json and split large codebases with project references. Improves build performance and import readability in monorepo setups.

  • Lesson 2 • Namespaces and Module Augmentation

    Use namespaces for logical grouping and augment existing module types. Covers legacy patterns and the modern technique of extending third-party type definitions.

  • Lesson 3 • ES Modules in TypeScript

    Use import and export syntax to split code across files with full type checking. Connects compiler options to module resolution behaviour in real projects.

  • Lesson 4 • Declaration Files and @types

    Understand .d.ts files and how DefinitelyTyped packages provide types for JavaScript libraries. Enables safe use of the broader npm ecosystem from TypeScript code.

Chapter 7See details

Asynchronous TypeScript

  • Lesson 1 • Async Iterators and Generators

    Use AsyncIterator<T> and async generator functions to model streaming data. Extends iterator knowledge to asynchronous data sources such as streams and paginated APIs.

  • Lesson 2 • Typing Promises

    Annotate Promise<T> return types and understand how the generic parameter flows through then chains. Builds on generics knowledge to type async data correctly.

  • Lesson 3 • Typing Callbacks and Event Emitters

    Define typed callback signatures and strongly type event emitter patterns. Covers legacy async patterns still common in Node.js and browser APIs.

  • Lesson 4 • Async and Await Patterns

    Write async functions with typed return values and handle errors with try/catch. Demonstrates how async/await simplifies Promise chains while preserving type safety.

Chapter 8See details

Testing, Tooling, and Production Readiness

  • Lesson 1 • Unit Testing with Typed Test Frameworks

    Write unit tests in TypeScript using a typed test runner and assert types at runtime. Ensures test code benefits from the same type safety as production code.

  • Lesson 2 • Linting TypeScript with ESLint

    Configure ESLint with TypeScript-aware rules to enforce code style and catch type-related issues. Complements the compiler by surfacing problems the type checker does not flag.

  • Lesson 3 • Build Pipelines and Bundlers

    Integrate TypeScript compilation into bundler workflows using tools like esbuild or Webpack. Covers source maps, watch mode, and optimised production builds.

  • Lesson 4 • Debugging TypeScript Applications

    Use source maps and editor debuggers to step through TypeScript source at runtime. Closes the loop between authoring and diagnosing issues in running applications.

  • Lesson 5 • Strict Mode and Code Quality Practices

    Enable all strict compiler flags and understand what each one enforces. Establishes a quality baseline that prevents entire categories of runtime errors.

Certification

Your valid completion certificate

This course is for you:

  • JavaScript developer: ready to add type safety to existing day-to-day work.

  • Frontend engineer: wants typed React components and hooks without guesswork.

  • Backend developer: building Node.js APIs that need enforced request and response shapes.

  • Computer science student: learning industry-standard tooling before entering the job market.

  • Career changer: coming from a typed language and mapping familiar concepts to TypeScript.

  • Freelance developer: aiming to take on larger, more complex client projects confidently.

Related courses

FAQ

Who is Dedika?

Is the certificate valid in the United Kingdom?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course