Introduction
What TypeScript is, why it exists, how to install it via npm, tsconfig basics, compiling with tsc, and your first typed program.
Basic Types
TypeScript's primitive types, type inference, type annotations, arrays, tuples, and the any, unknown, never, and void types.
Interfaces & Type Aliases
Defining object shapes with interface and type, optional and readonly properties, extending interfaces, intersection types, and structural typing.
Functions
Typed parameters, return types, optional and default parameters, rest params, function overloads, void vs never, and arrow functions in TypeScript.
Classes
TypeScript class syntax, access modifiers, readonly, constructors, inheritance, abstract classes, and implementing interfaces.
Generics
Generic functions, interfaces, and classes in TypeScript, plus constraints with extends, default type parameters, and keyof and typeof operators.
Enums & Literals
Numeric enums, string enums, const enums, literal types, discriminated unions, and exhaustive checks in TypeScript.
Utility Types
Practical examples of TypeScript's built-in utility types — Partial, Required, Readonly, Pick, Omit, Record, Exclude, Extract, NonNullable, ReturnType, and Parameters.
Advanced Types
Conditional types, mapped types, template literal types, the infer keyword, and recursive types with real-world use cases.
Modules & Declarations
ES modules in TypeScript, import and export patterns, declaration files (.d.ts), DefinitelyTyped, and writing your own type declarations.
tsconfig & Tooling
Key tsconfig.json options explained, strict mode, target and lib, path aliases, project references, ts-node, tsx, and ESLint integration.
TypeScript in Practice
TypeScript with Node.js, TypeScript with React including event types and hooks, common real-world patterns, and migrating a JavaScript project to TypeScript.