Advanced TypeScript with OOP
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Advanced TypeScript with OOP
This course is part of Modern Web Development with TypeScript Specialization
Included with
Recommended experience
Recommended experience
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 4 modules in this course
This course introduces you to the power of Object-Oriented Programming (OOP) in TypeScript, enabling you to design scalable, reusable, and type-safe applications that follow modern software engineering best practices. You’ll learn how to apply OOP principles—encapsulation, inheritance, abstraction, and polymorphism—while leveraging TypeScript’s advanced type system to create professional-grade codebases.
Through interactive lessons and hands-on coding projects, you’ll practice building classes, implementing inheritance, designing with abstract classes and interfaces, applying decorators, and using advanced type features like utility types, conditional types, and type guards. By combining OOP principles with TypeScript’s strong typing, you’ll gain the skills to write cleaner, safer, and more maintainable applications. By the end of this course, you will be able to: - Implement classes, access modifiers, static members, and readonly properties in TypeScript - Apply inheritance, method overriding, abstract classes, and interfaces to design extensible systems - Differentiate between abstract classes and interfaces and use them effectively in real-world projects - Enhance your applications with decorators, type inference, unions, intersections, and narrowing - Use advanced type system features such as utility types, conditional types, mapped types, and type guards - Design and deliver a complete TypeScript project that demonstrates mastery of OOP and advanced type features This course is ideal for JavaScript and TypeScript developers who want to deepen their expertise and build structured, maintainable applications using OOP principles and advanced TypeScript features. A solid understanding of TypeScript fundamentals (variables, functions, basic types) is recommended before starting this course. Join us to master Advanced TypeScript with OOP and take your development skills to the next level with robust, enterprise-ready application design.
Learn how to build robust applications with classes, inheritance, abstract classes, and interfaces, applying OOP principles directly in TypeScript.
What's included
18 videos6 readings5 assignments1 discussion prompt
18 videos•Total 63 minutes
- Course Introduction•2 minutes
- Introduction to Classes, Properties, and Methods•3 minutes
- Access Modifiers, Static, and Readonly Members•3 minutes
- Hands-On Creating Classes with Constructors and Methods•5 minutes
- Hands-On Using Getters and Setters in Classes•4 minutes
- Hands-On Working with Static Properties and Methods•4 minutes
- Inheritance Basics and the extends Keyword•3 minutes
- Hands-On Implementing Single Inheritance with super•3 minutes
- Hands-On Method Overriding and Multi-level Inheritance•4 minutes
- Hands-On Access Modifier Rules in Inheritance•3 minutes
- Abstract Classes and Abstract Methods•2 minutes
- Hands-On Implementing Abstract Classes in Practice•4 minutes
- Hands-On Using Interfaces for Multiple Implementations•3 minutes
- Hands-On Difference Between Abstract Classes and Interfaces•4 minutes
- Declaring Interfaces and Structural Typing•4 minutes
- Hands-On Optional and Readonly Properties in Interfaces•4 minutes
- Hands-On Function Types and Index Signatures•4 minutes
- Hands-On Interfaces vs Type Aliases in Practice•4 minutes
6 readings•Total 75 minutes
- Course Outline•15 minutes
- TypeScript Classes •10 minutes
- Inheritance in TypeScript•10 minutes
- Abstract Classes and Interfaces•10 minutes
- Inheritance in TypeScript•10 minutes
- Summary of Object-Oriented Programming •20 minutes
5 assignments•Total 54 minutes
- Knowledge Check: Object-Oriented Programming in TypeScript•30 minutes
- Practice Quiz: Type Classes•6 minutes
- Practice Quiz: Achieving Inheritance in TypeScript•6 minutes
- Practice Quiz: Abstract Classes and Interfaces•6 minutes
- Practice Quiz: Working with Interfaces•6 minutes
1 discussion prompt•Total 10 minutes
- Introduce Yourself•10 minutes
Explore decorators for classes, methods, and properties, while deepening your understanding of TypeScript’s type system, inference, and special types.
What's included
9 videos3 readings3 assignments
9 videos•Total 34 minutes
- Introduction to Decorators and Enabling Them•5 minutes
- Hands-On Class Decorators Example•3 minutes
- Hands-On Method and Property Decorators in Action•4 minutes
- Hands-On Practical Use Case: Logging with Decorators•5 minutes
- Type Inference and Strict Type Checking•4 minutes
- Advanced Features in Typescript•4 minutes
- Hands-On Working with Unions and Intersections•3 minutes
- Hands-On Practical Type Narrowing with in and Control Flow Analysis•3 minutes
- Hands-On Practical Differences Between any, unknown, never, and void•3 minutes
3 readings•Total 40 minutes
- TypeScript Decorators•10 minutes
- Type System Features•10 minutes
- Summary of Decorators and Type System•20 minutes
3 assignments•Total 42 minutes
- Knowledge Check: Decorators and Type System in TypeScript•30 minutes
- Practice Quiz: TypeScript Decorators•6 minutes
- Practice Quiz: Type System Features•6 minutes
Master advanced features including utility types, conditional and mapped types, template literal types, and type guards for safer, more expressive code.
What's included
13 videos4 readings4 assignments
13 videos•Total 47 minutes
- Overview of Built-in Utility Types•4 minutes
- Hands-On Partial, Required, and Readonly in Action•3 minutes
- Hands-On Using Pick, Omit, and Record•3 minutes
- Hands-On Practical Use of ReturnType, Parameters, Exclude, and Extract•3 minutes
- Conditional Types and infer Keyword•5 minutes
- Hands-On Using Conditional Types with extends•3 minutes
- Hands-On Mapped Types and Template Literal Types•3 minutes
- Hands-On Recursive Type Transformations Example•4 minutes
- What Are Type Guards and Why They Matter•4 minutes
- Error Handling with Types•4 minutes
- Hands-On Operators for Type Guards•3 minutes
- Hands-On Writing Custom Type Guards•4 minutes
- Hands-On Discriminated Unions and Exhaustiveness Checking•3 minutes
4 readings•Total 50 minutes
- Built-in Utility Types•10 minutes
- Type Transformation•10 minutes
- Type Guards•10 minutes
- Summary of Advanced Concepts of TypeScript•20 minutes
4 assignments•Total 48 minutes
- Knowledge Check: Advanced Concepts of TypeScript•30 minutes
- Practice Quiz: Built-in Utility Types•6 minutes
- Practice Quiz: Type Transformation•6 minutes
- Practice Quiz: Type Guards•6 minutes
Consolidate your learning through a final project that demonstrates your ability to design and implement advanced TypeScript solutions.
What's included
1 video1 reading2 assignments1 discussion prompt
1 video•Total 3 minutes
- Course Summary: Advanced TypeScript with OOP•3 minutes
1 reading•Total 15 minutes
- Practice Project: Online Learning Platform Management System•15 minutes
2 assignments•Total 60 minutes
- Designing a Type-Safe Online Learning Platform in TypeScript•30 minutes
- End Course Knowledge Check: Advanced TypeScript Programming•30 minutes
1 discussion prompt•Total 10 minutes
- Describe your Learning Journey•10 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Explore more from Mobile and Web Development
- Status: Free TrialE
Edureka
Course
- Status: Free Trial
Specialization
- Status: Free TrialS
Scrimba
Course
Why people choose Coursera for their career
Frequently asked questions
This course teaches you how to apply Object-Oriented Programming (OOP) principles in TypeScript, covering classes, inheritance, interfaces, decorators, utility types, and advanced type features to build scalable, type-safe applications.
The course is ideal for JavaScript and TypeScript developers who want to move beyond the basics and learn advanced OOP and type system features to write professional, maintainable applications.
Yes. Learners should be familiar with JavaScript and basic TypeScript concepts such as variables, functions, and primitive types. No advanced OOP experience is required.
More questions
Financial aid available,
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.
