Introduction to TypeScript
Understand why TypeScript exists and how it improves JavaScript. Learn the fundamentals of TypeScript setup and configuration.
Please enroll in this course to access the modules.
Learning objectives
• Understand what TypeScript is and its benefits
• Learn how TypeScript differs from JavaScript
• Set up TypeScript development environment
• Create your first TypeScript program
• Understand TypeScript compilation process
TypeScript Basics
Learn syntax and core building blocks of TypeScript including variables, data types, and type annotations.
Please enroll in this course to access the modules.
Learning objectives
• Master TypeScript file structure
• Understand variable declarations (let, const)
• Learn basic data types (number, string, boolean, null, undefined, any)
• Understand type inference and type annotations
• Learn about strict mode
Operators & Control Flow
Control logic using conditions and operators. Learn about arithmetic, comparison, logical operators, and conditional statements.
Please enroll in this course to access the modules.
Learning objectives
• Master arithmetic, comparison, and logical operators
• Understand conditional statements (if, else, switch, ternary)
• Learn type narrowing with conditions
• Apply control flow in TypeScript
Functions in TypeScript
Write safe and predictable functions with proper typing, parameters, and return types.
Please enroll in this course to access the modules.
Learning objectives
• Master function syntax and parameter types
• Understand return types (void, never)
• Learn optional, default, and rest parameters
• Understand arrow functions and function overloading
Arrays & Tuples
Work with collections safely using typed arrays and tuples.
Please enroll in this course to access the modules.
Learning objectives
• Understand array type syntax and generics
• Learn about readonly arrays
• Master tuple types and their use cases
• Understand tuple vs array differences
Objects & Type Aliases
Structure data clearly using object types and type aliases.
Please enroll in this course to access the modules.
Learning objectives
• Master object type definitions
• Understand type aliases
• Learn optional and readonly properties
• Work with nested objects and index signatures
Enums & Literal Types
Restrict values and improve readability using enums and literal types.
Please enroll in this course to access the modules.
Learning objectives
• Understand numeric and string enums
• Learn about const enums
• Master literal types and union of literals
• Compare enums vs union types
Union & Intersection Types
Combine and restrict types effectively using union and intersection types with type guards.
Please enroll in this course to access the modules.
Learning objectives
• Master union types (|) and intersection types (&)
• Understand type guards (typeof, in, instanceof)
• Learn custom type guards
• Apply type narrowing techniques
Interfaces
Build scalable type contracts using interfaces for objects, functions, and classes.
Please enroll in this course to access the modules.
Learning objectives
• Understand what interfaces are
• Master interface definitions and properties
• Learn interface inheritance
• Implement interfaces in classes
• Use interfaces for API response models
Classes & OOP in TypeScript
Master object-oriented programming with TypeScript classes, inheritance, and access modifiers.
Please enroll in this course to access the modules.
Learning objectives
• Create classes with constructors
• Understand access modifiers (public, private, protected)
• Learn getters, setters, and inheritance
• Master abstract classes and static members
Generics
Write reusable, type-safe code using generics for functions, interfaces, and classes.
Please enroll in this course to access the modules.
Learning objectives
• Understand what generics are and why they matter
• Master generic functions, interfaces, and classes
• Learn multiple type parameters and constraints
• Apply generics in real-world scenarios
Advanced Types
Unlock TypeScript's real power with advanced type manipulation and utility types.
Please enroll in this course to access the modules.
Learning objectives
• Master keyof, typeof, and indexed access types
• Understand mapped types and conditional types
• Learn utility types (Partial, Required, Readonly, Pick, Omit, Record)
• Apply advanced types in complex scenarios
Type Assertions & Type Casting
Work with external or unknown data safely using type assertions and casting.
Please enroll in this course to access the modules.
Learning objectives
• Understand type assertions (as syntax)
• Learn when and when not to use type assertions
• Work with DOM elements
• Understand unknown vs any
Error Handling & Safety
Write robust and safe code with proper error handling and null safety.
Please enroll in this course to access the modules.
Learning objectives
• Understand compile-time vs runtime errors
• Master try-catch in TypeScript
• Learn custom error classes
• Understand strict null checks and non-null assertions
Modules & Namespaces
Organize large applications using ES modules, imports, exports, and namespaces.
Please enroll in this course to access the modules.
Learning objectives
• Master ES modules in TypeScript
• Understand import and export syntax
• Learn module resolution and path aliases
• Know when to use modules vs namespaces
TypeScript with JavaScript Projects
Migrate safely from JavaScript to TypeScript in existing projects.
Please enroll in this course to access the modules.
Learning objectives
• Use TypeScript in existing JS projects
• Understand allowJs and checkJs
• Learn JSDoc types
• Master gradual migration strategy
• Handle third-party libraries with DefinitelyTyped
TypeScript with Frontend Frameworks
Use TypeScript in real frontend applications with React, Angular, and Vue.
Please enroll in this course to access the modules.
Learning objectives
• Use TypeScript with DOM
• Master TypeScript with React (props, state, events)
• Understand TypeScript with Angular and Vue
• Apply TypeScript in frontend development
TypeScript with Backend (Node.js)
Build backend applications using TypeScript with Node.js and Express.
Please enroll in this course to access the modules.
Learning objectives
• Set up TypeScript with Node.js
• Master Express with TypeScript
• Type request and response objects
• Understand middleware typing
• Work with environment variables
Tooling & Best Practices
Write professional TypeScript code with proper tooling and best practices.
Please enroll in this course to access the modules.
Learning objectives
• Set up ESLint and Prettier with TypeScript
• Use ts-node for development
• Understand build and production setup
• Learn project folder structure
• Apply type safety best practices
Real-World Projects
Apply everything learned through practical projects and code reviews.
Please enroll in this course to access the modules.
Learning objectives
• Build a type-safe calculator
• Create a user management system
• Develop a REST API with TypeScript
• Build a frontend app with TypeScript
• Review and optimize code