Object-oriented Programming in JavaScript
Learn all about OOP, understand the most confusing parts of JavaScript and prepare for technical interviews
What you will learn?
- Understand the most confusing parts of JavaScript
- Learn all about object-oriented programming
- Prepare for technical interviews
- Manage and reduce complexity in code
- Build re-usable components
- Write cleaner code
- Learn all about prototypes and prototypical inheritance
- Use ES6 features (classes and modules) and tooling
Your trainer
Mosh Hamedani
Hi! My name is Mosh (Moshfegh) Hamedani! I'm a passionate software engineer with two decades of experience and I've taught over 3 million people who to code or how to become professional software engineers through my YouTube channel and online courses.
My goal is to make software engineering fun and accessible to everyone. That's why my courses are simple, pragmatic and free of BS.
64 lessons
Easy to follow lectures and videos covering subject details.
4 hours
This course includes hours of video material. Watch on-demand, anytime, anywhere.
Certificate of Completion
You will earn a Certificate of Completion at the end of this course.
Course curriculum
- What is OOP?01:45
- Four Pillars of OOP07:02
- Setting Up the Development Environment02:16
- Course Structure02:55
- Asking Questions00:33
- 1- Introduction00:45
- 2- Object Literals03:03
- 3- Factories02:51
- 4- Constructors05:36
- 5- Constructor Property02:24
- 6- Functions are Objects04:47
- 7- Value vs Reference Types05:49
- 8- Adding or Removing Properties03:53
- 9- Enumerating Properties02:50
- 10- Abstraction04:02
- 11- Private Properties and Methods04:05
- Getters and Setters05:36
- 13- Cheat Sheet00:00
- 14- Exercise- Stop Watch02:08
- 15- Solution- Stopwatch02:31
- 1- Inheritance02:26
- 2- Prototypes and Prototypical Inheritance05:33
- 3- Multi-level Inheritance02:51
- 4- Property Descriptors05:07
- 5- Constructor Prototypes03:52
- 6- Prototype vs. Instance Members06:04
- 7- Iterating Instance and Prototype Members02:39
- 8- Avoid Extending the Built-in Objects01:41
- 9- Cheat Sheet00:00
- 10- Exercise01:33
- 11- Solution05:38
- 1- Creating Your Own Prototypical Inheritance05:34
- 2- Resetting the Constructor04:01
- 3- Calling the Super Constructor03:48
- 4- Intermediate Function Inheritance03:05
- 5- Method Overriding03:29
- 6- Polymorphism04:22
- 7- When to Use Inheritance03:23
- 8- Mixins05:53
- 9- Cheat Sheet00:00
- 10- Exercise Prototypical Inheritence03:18
- 11- Solution Prototypical Inheritance05:53
- 12- Exercise- Polymorphism02:35
- 13- Solution- Polymorphism05:11
- 1- ES6 Classes05:41
- 2- Hoisting03:46
- 3- Static Methods04:17
- 4- The This Keyword04:57
- 5- Private Members Using Symbols07:48
- Private Members Using WeakMaps06:58
- 7- Getters and Setters02:50
- Inheritance04:00
- 9- Method Riding02:33
- 10- Cheat Sheet00:00
- 11- Exercise03:25
- 12- Solution04:20
- 1- Modules03:42
- 2- CommonJS Modules05:51
- 3- ES6 Modules03:24
- 4- ES6 Tooling01:26
- 5- Babel07:11
- 6- Webpack08:26
- 7- Cheat Sheet00:00
- Coupon to My Other Courses00:20
Online Courses
Learning JavaScript doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.
Learn moreBooks
Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of JavaScript related books and take your
YouTube videos
The number of high-quality and free JavaScript video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.
Learn more