Learn TypeScript - Comprehensive Course
Enroll in Class
Beginner Level
1. Introduction to TypeScript
What is TypeScript? Benefits over JavaScript
Installing TypeScript and setting up environment (Node.js, VSCode)
Compiling TypeScript to JavaScript (tsc compiler basics)
Writing your first TypeScript program
2. Basic Types
Primitive types: number, string, boolean
Special types: any, unknown, void, null, undefined, never
Type annotations and inference
Arrays and tuples
3. Variables and Constants
Declaring variables with let, const
Type inference vs explicit typing
Working with enums (enum)
4. Functions
Function declarations and expressions with types
Optional and default parameters
Rest parameters
Function types and type aliases
5. Interfaces and Type Aliases
Defining interfaces
Optional properties and readonly properties
Extending interfaces
Differences between interfaces and type aliases
Intermediate Level
6. Classes and Objects
Class syntax and members
Access modifiers: public, private, protected
Constructors and parameter properties
Inheritance and method overriding
Abstract classes and methods
7. Generics
Introduction to generics in functions and classes
Generic constraints
Using multiple generic parameters
8. Advanced Types
Union and intersection types
Literal types and type aliases
Type guards and type narrowing
Discriminated unions
9. Modules and Namespaces
ES modules: import and export
Default exports vs named exports
Namespaces and their use cases
10. Type Assertions and Type Casting
Using as keyword
Angle-bracket syntax
When and how to use type assertions safely
Advanced Level
11. Decorators
What are decorators?
Class, method, accessor, property, and parameter decorators
Using decorators for metadata and dependency injection
12. Utility Types
Partial, Required, Readonly, Record, Pick, Omit
Mapping types and conditional types
Exclude, Extract, NonNullable, ReturnType
13. Advanced Generics
Recursive types with generics
Conditional types with generics
Variadic tuple types
14. Declaration Merging
Interface merging
Namespace merging
Function overloading
15. Working with Third-Party Libraries
Using DefinitelyTyped (@types packages)
Writing your own declaration files (.d.ts)
Integrating TypeScript with JavaScript libraries
Professional & Practical TypeScript
16. Project Setup and Tooling
Configuring tsconfig.json
Compiler options explained
Using TypeScript with build tools (Webpack, Babel)