← All roadmaps

TypeScript

Everything you need to learn about TypeScript in @currentYear@

0%
0 done0 learning0 target
View interactive roadmap on roadmap.sh

Your learning path

Introduction to TypeScript

Introduction to TypeScript

TS and JS Interoperability
TypeScript vs JavaScript
Installation and Configuration
Running TypeScript
tsconfig.json

tsconfig.json

Compiler Options

Compiler Options

tsc

tsc

ts-node

ts-node

TS Playground

TS Playground

TypeScript Types

TypeScript Types

boolean

boolean

number

number

string

string

void

void

undefined

undefined

null

null

Interface

Interface

Class

Class

Enum

Enum

Array

Array

Tuple

Tuple

Object

Object

unknown

unknown

any

any

never

never

as const

as const

as [type]

as [type]

as any

as any

Non-null Assertion

Non-null Assertion

satisfies keyword

satisfies keyword

Type Inference

Type Inference

Type Compatibility

Type Compatibility

Combining Types

Combining Types

Union Types

Union Types

Intersection Types

Intersection Types

Type Aliases

Type Aliases

keyof Operator

keyof Operator

Type Guards / Narrowing

Type Guards / Narrowing

Equality
instanceof
typeof
Truthiness
Type Predicates
TypeScript Functions

TypeScript Functions

Typing Functions
Function Overloading

Function Overloading

TypeScript Interfaces

TypeScript Interfaces

Types vs Interfaces
Extending Interfaces
Interface Declaration
Hybrid Types
Classes

Classes

Constructor Params

Constructor Params

Constructor Overloading

Constructor Overloading

Access Modifiers

Access Modifiers

Abstract Classes

Abstract Classes

Inheritance vs Polymorphism

Inheritance vs Polymorphism

Method Overriding

Method Overriding

Generics

Generics

Generic Types
Generic Constraints
Decorators

Decorators

Utility Types

Utility Types

Pick
Readonly
Exclude
Awaited
Parameters
NonNullable
ReturnType
InstanceType
Partial

Partial

Omit

Omit

Record

Record

Extract

Extract

Advanced Types

Advanced Types

Mapped Types
Conditional Types

Conditional Types

Literal Types

Literal Types

Template Literal Types

Template Literal Types

Recursive Types

Recursive Types

TypeScript Modules

TypeScript Modules

Global Augmentation
Namespaces

Namespaces

Ambient Modules

Ambient Modules

External Modules

External Modules

Namespace Augmentation

Namespace Augmentation

Ecosystem

Ecosystem

Formatting
Linting
Useful Packages
Build Tools