TypeScript Course Checklist
Created by Cheli
A step-by-step guide to learning TypeScript from setup to capstone project.
Please sign in before starting payment and download.
Checklist Items (27)
Set up development environment
Configure tsconfig.json
Initialize a TypeScript project with `tsc --init` and adjust options such as `target`, `module`, `strict`, and `outDir`.
Verify setup with hello world
Create a `src/index.ts` file with `console.log('Hello TypeScript!');`, compile with `tsc`, and run the resulting JavaScript with `node`.
Learn TypeScript basics
Understand primitive types
Learn string, number, boolean, bigint, symbol, null, and undefined. Practice assigning values and see type errors.
Work with arrays and tuples
Use type annotations like `number[]` or `Array<number>` and tuple types `[string, number]` for fixed-length arrays.
Define interfaces and type aliases
Create interfaces for object shapes and use `type` for aliases, unions, and mapped types.
Use union and intersection types
Combine types with `|` (union) and `&` (intersection) to model flexible data structures.
Explore enum usage
Learn numeric and string enums, and when to prefer `const enum` or union types instead.
Practice type inference and explicit annotations
Let TypeScript infer types where possible, but add explicit annotations for function returns and complex objects.
Implement basic functions with typed parameters and return
Write functions with parameter types and return types, including optional and default parameters.
Handle null and undefined with strict null checks
Enable `strictNullChecks` in tsconfig and use union types `| null` or optional chaining `?.`.
Use type guards and typeof/instanceof checks
Create user-defined type guards and use `typeof`, `instanceof`, and `in` operators to narrow types.
Work on small projects
Build a todo list app with basic CRUD
Create a simple web app that lets users add, edit, delete, and mark tasks as complete. Use plain TypeScript with DOM manipulation or a framework like React.
Implement a simple calculator with React (optional)
Set up a React project with TypeScript (`npx create-react-app my-app --template typescript`) and build a calculator UI.
Develop a library of utility functions and publish to npm
Write reusable utilities (e.g., formatting, validation), configure `package.json`, run `npm publish` after testing.
Explore advanced TypeScript features
Master generics in functions, classes, and interfaces
Write generic functions like `function identity<T>(arg: T): T` and generic classes/repositories.
Use mapped types and conditional types
Learn `Record<K, T>`, `Pick<T, K>`, `Exclude<T, U>`, and conditional types `T extends U ? X : Y`.
Work with utility types (Partial, Pick, Record, etc.)
Apply utility types to modify existing types, e.g., `Partial<User>` for update forms.
Declare and augment modules
Use `declare module` to add typings for existing JS libraries or augment global scope.
Understand declaration merging
Learn how interfaces, namespaces, and classes with the same name merge to produce a single type.
Implement decorators and reflect metadata
Enable experimental decorators, create class decorators, and use `reflect-metadata` for dependency injection.
Configure project references for monorepos
Set up `tsconfig.json` with `references` to share code between multiple packages in a monorepo.
Build a capstone project
Choose a full-stack idea and plan features
Select a project like a task manager, define user stories, sketch API endpoints, and decide on tech stack.
Set up backend with TypeScript Node.js and ORM
Initialize a Node.js project with TypeScript, install `express`, `typescript`, `@types/node`, and an ORM like Prisma or TypeORM. Connect to a database (PostgreSQL/SQLite).