TypeScript Roadmap¶
- Roadmap: https://roadmap.sh/typescript
1. Introduction to TypeScript¶
- 1.1 TypeScript vs JavaScript
- 1.2 TS and JS Interoperability
- 1.3 Installation and Configuration
- 1.4 tsconfig.json
- 1.5 Compiler Options
- 1.6 TS Playground
- 1.7
tsc - 1.8
ts-node
2. TypeScript Types¶
2.1 Primitive Types¶
- 2.1.1
boolean - 2.1.2
number - 2.1.3
string - 2.1.4
void - 2.1.5
undefined - 2.1.6
null
2.2 Object Types¶
- 2.2.1 Interface
- 2.2.2 Class
- 2.2.3 Enum
- 2.2.4 Array
- 2.2.5 Tuple
- 2.2.6 Object
2.3 Top Types¶
- 2.3.1
unknown - 2.3.2
any
2.4 Bottom Types¶
- 2.4.1
never
2.5 Type Inference¶
2.6 Type Compatibility¶
2.7 Assertions¶
- 2.7.1
as [type] - 2.7.2
as any - 2.7.3
as const - 2.7.4 Non-null Assertion
- 2.7.5
satisfieskeyword
3. Combining Types¶
- 3.1 Union Types
- 3.2 Intersection Types
- 3.3 Type Aliases
- 3.4
keyofOperator
4. Type Guards / Narrowing¶
- 4.1
instanceof - 4.2
typeof - 4.3 Equality
- 4.4 Truthiness
- 4.5 Type Predicates
5. TypeScript Interfaces¶
- 5.1 Types vs Interfaces
- 5.2 Extending Interfaces
- 5.3 Interface Declaration
- 5.4 Hybrid Types
6. TypeScript Functions¶
- 6.1 Typing Functions
- 6.2 Function Overloading
7. Classes¶
- 7.1 Constructor Params
- 7.2 Access Modifiers
- 7.3 Abstract Classes
- 7.4 Inheritance vs Polymorphism
- 7.5 Method Overriding
- 7.6 Constructor Overloading
8. Generics¶
- 8.1 Generic Types
- 8.2 Generic Constraints
9. Utility Types¶
- 9.1
Partial - 9.2
Pick - 9.3
Omit - 9.4
Readonly - 9.5
Record - 9.6
Exclude - 9.7
Extract - 9.8
Awaited - 9.9
Parameters - 9.10
NonNullable - 9.11
ReturnType - 9.12
InstanceType
10. Decorators¶
11. Advanced Types¶
- 11.1 Mapped Types
- 11.2 Conditional Types
- 11.3 Literal Types
- 11.4 Template Literal Types
- 11.5 Recursive Types
12. TypeScript Modules¶
- 12.1 Namespaces
- 12.2 Ambient Modules
- 12.3 External Modules
- 12.4 Namespace Augmentation
- 12.5 Global Augmentation
13. Ecosystem¶
- 13.1 Formatting
- 13.2 Linting
- 13.3 Useful Packages
- 13.4 Build Tools
How the levels work¶
Most leaf pages follow a stepped-difficulty layout (junior / middle / senior / professional / specification / interview / tasks / find-bug / optimize) — see the Code Craft README for the full table.