Beginner
Core TypeScript: basic types, inference, interfaces, type aliases, functions, classes, unions, generics, utility types, narrowing, and mapped/conditional types.
Progress: 0 / 15 topics completed
TypeScript Basics
Introduction to TypeScript
What TypeScript is, why it exists, and how to set up and compile your first TypeScript project.
Basic Types
string, number, boolean, null, undefined, any, unknown, never, void and when to use each.
Type Inference
How TypeScript automatically deduces types from context and when to add explicit annotations.
Arrays and Tuples
Typed arrays (string[], Array<T>), readonly arrays, fixed-length tuples, and rest elements.
Enums
Numeric enums, string enums, const enums, and when to use union types instead.
Object Types & Interfaces
Interfaces
Define object shapes with interface optional properties, readonly, extending, and declaration merging.
Type Aliases
The type keyword naming complex types, union/intersection aliases, and when to choose type vs interface.
Function Types
Parameter types, return types, optional and default parameters, rest params, overloads, and function type signatures.
Classes in TypeScript
Access modifiers (public/private/protected), readonly, parameter properties, implements, and abstract classes.
Advanced Beginner Types
Union and Intersection Types
Union (|) and intersection (&) types, discriminated unions, and type narrowing in practice.
Generics
Generic functions, interfaces, and classes write once, use for any type with full type safety.
Utility Types
Partial, Required, Readonly, Pick, Omit, Record, ReturnType, Parameters TypeScript's built-in type transformers.
Type Narrowing
typeof, instanceof, in, truthiness, equality narrowing, and user-defined type guards.
Type Assertions & Non-null Assertion
as, the non-null assertion (!), satisfies operator, and when to use each safely.
Mapped & Conditional Types
Create new types by transforming existing ones mapped types, conditional types, template literal types, and infer.