Object-oriented Programming in JavaScript
Solidify your understanding of JavaScript and prepare for technical interviews.
https://codewithmosh.com/p/object-oriented-programming-in-javascript
01 Getting Started
1.001 What is OOP
https://youtu.be/BD63ymrE_DE
1.002 Four Pillars of OOP
https://youtu.be/fHBDMuA_4J4
1.003 Setting Up the Development Environment
https://youtu.be/nHXB118ZsKQ
1.004 Course Structure
https://youtu.be/hAEs3lp63cU
02 Objects
2.001- Introduction
https://youtu.be/rQ62UpVMLxI
2.002- Object Literals
https://youtu.be/4fEF5HCI4ZQ
2.003- Factories
https://youtu.be/sOaXMLFc8Fw
2.004- Constructors
https://youtu.be/FuHB7hzsVrY
2.005- Constructor Property
https://youtu.be/QQc8jJX9dVE
2.006- Functions are Objects
https://youtu.be/gv9k8RL7Pck
2.007- Value vs Reference Types
https://youtu.be/v9YwyMBfITc
2.008- Adding or Removing Properties
https://youtu.be/VvzCBMQHF0s
2.009- Enumerating Properties
https://youtu.be/sqFXjhkROlw
2.010- Abstraction
https://youtu.be/CKCmvlCoDl4
2.011- Private Properties and Methods
https://youtu.be/5qnYEtxAHR4
2.012 Getters and Setters
https://youtu.be/sotIxhIeK0g
2.013- Exercise- Stop Watch
https://youtu.be/kd0EHD4Dl9M
2.014- Solution- Stopwatch
https://youtu.be/yw5mlkwAIds
03 Prototypes
3.001- Inheritance
https://youtu.be/jNvhiIvGCs4
3.002- Prototypes and Prototypical Inheritance
https://youtu.be/QsR6nDsWt-Q
3.003- Multi-level Inheritance
https://youtu.be/GEqiABJAg7A
3.004- Property Descriptors
https://youtu.be/CcLvAsUXWBQ
3.005- Constructor Prototypes
https://youtu.be/mTwmQmL6J74
3.006- Prototype vs. Instance Members
https://youtu.be/ESW0wgK1r5o
3.007- Iterating Instance and Prototype Members
https://youtu.be/QWwu1XG3AVA
3.008- Avoid Extending the Built-in Objects
https://youtu.be/e_vmVX-NeBo
3.009- Exercise
https://youtu.be/XWTN-otkNxc
3.010- Solution
https://youtu.be/DGf5nkrTX70
04 Prototypical Inheritance
4.001- Creating Your Own Prototypical Inheritance
https://youtu.be/XoA99iFTiww
4.002- Resetting the Constructor
https://youtu.be/lbX5FxGlP90
4.003- Calling the Super Constructor
https://youtu.be/YB9svSbgP-U
4.004- Intermediate Function Inheritance
https://youtu.be/KjWp8gPIg9g
4.005- Method Overriding
https://youtu.be/NSq143oR_2E
4.006- Polymorphism
https://youtu.be/FcQznQ5MlXY
4.007- When to Use Inheritance
https://youtu.be/HURzs8fpxnk
4.008- Mixins
https://youtu.be/2cFs1M86f5s
4.010- Exercise Prototypical Inheritence
https://youtu.be/X5P9H_-cLDw
4.011- Solution Prototypical Inheritance
https://youtu.be/Se_BdGjmTOg
4.012- Exercise- Polymorphism
https://youtu.be/-dsDlagpSEA
4.013- Solution- Polymorphism
https://youtu.be/PEYiWk59yZ4
05 ES6 Classes
5.001- ES6 Classes
https://youtu.be/Xwavk300Ln0
5.002- Hoisting
https://youtu.be/N54lxFxfpMM
5.003- Static Methods
https://youtu.be/hTYzGzMkGvw
5.004- The This Keyword
https://youtu.be/SuwiMEtY6jI
5.005- Private Members Using Symbols
https://youtu.be/_rc1L-1JhkQ
5.006 Private Members Using WeakMaps
https://youtu.be/Yx4NJ0m6l_Q
5.007- Getters and Setters
https://youtu.be/nHwaO-UDb78
5.008 Inheritance
https://youtu.be/6_YQtKedKK0
5.009- Method Riding
https://youtu.be/3M95oQeOfJ4
5.011- Exercise
https://youtu.be/F0X6yfOVOdQ
5.012- Solution
https://youtu.be/YScEm9nI0Cg
06 ES6 Modules
6.001- Modules
https://youtu.be/l7DhlxOcBF8
6.002- CommonJS Modules
https://youtu.be/rQ02-_AisAc
6.003- ES6 Modules
https://youtu.be/fVKMNbrwK68
6.004- ES6 Tooling
https://youtu.be/PgcB7cP1Egs
6.005- Babel
https://youtu.be/mnObIUGpKz8
6.006- Webpack
https://youtu.be/d-t4h35clhM