Getting Started
  • What is OOP?
  • Four Pillars of OOP
  • Setting Up the Development Environment
  • Course Structure
  • Asking Questions
Objects
  • 1- Introduction
  • 2- Object Literals
  • 3- Factories
  • 4- Constructors
  • 5- Constructor Property
  • 6- Functions are Objects
  • 7- Value vs Reference Types
  • 8- Adding or Removing Properties
  • 9- Enumerating Properties
  • 10- Abstraction
  • 11- Private Properties and Methods
  • Getters and Setters
  • 13- Cheat Sheet
  • 14- Exercise- Stop Watch
  • 15- Solution- Stopwatch
Prototypes
  • 1- Inheritance
  • 2- Prototypes and Prototypical Inheritance
  • 3- Multi-level Inheritance
  • 4- Property Descriptors
  • 5- Constructor Prototypes
  • 6- Prototype vs. Instance Members
  • 7- Iterating Instance and Prototype Members
  • 8- Avoid Extending the Built-in Objects
  • 9- Cheat Sheet
  • 10- Exercise
  • 11- Solution
Prototypical Inheritance
  • 1- Creating Your Own Prototypical Inheritance
  • 2- Resetting the Constructor
  • 3- Calling the Super Constructor
  • 4- Intermediate Function Inheritance
  • 5- Method Overriding
  • 6- Polymorphism
  • 7- When to Use Inheritance
  • 8- Mixins
  • 9- Cheat Sheet
  • 10- Exercise Prototypical Inheritence
  • 11- Solution Prototypical Inheritance
  • 12- Exercise- Polymorphism
  • 13- Solution- Polymorphism
ES6 Classes
  • 1- ES6 Classes
  • 2- Hoisting
  • 3- Static Methods
  • 4- The This Keyword
  • 5- Private Members Using Symbols
  • Private Members Using WeakMaps
  • 7- Getters and Setters
  • Inheritance
  • 9- Method Riding
  • 10- Cheat Sheet
  • 11- Exercise
  • 12- Solution
ES6 Modules
  • 1- Modules
  • 2- CommonJS Modules
  • 3- ES6 Modules
  • 4- ES6 Tooling
  • 5- Babel
  • 6- Webpack
  • 7- Cheat Sheet
  • Coupon to My Other Courses