Object-oriented Programming in JavaScript: Made Super Simple

Object-oriented programming in JavaScript: learn all about objects, prototypes, prototypical inheritance, this and more.
🔥Get the COMPLETE course for $12.99 TODAY – Offer EXPIRING SOON: https://www.udemy.com/javascript-object-oriented-programming/?couponCode=OOP_YOUTUBE

Subscribe for more videos:


00:00: What is OOP?
01:46: Four Pillars of OOP
08:50: Setting Up the Development Environment 11:07: Objects
11:53: Object Literals
14:58: Factories
17:50: Constructors
23:27: Constructor Property
25:53: Functions are Objects
31:09: Value vs Reference Types
37:00: Adding or Removing Properties
40:54: Enumerating Properties
43:45: Abstraction
47:48: Private Properties and Methods
51:55: Getters and Setters
57:32: Exercise
59:42: Solution

Want to learn more from me? Check out my blog and courses:



Sir Ocho says:

As always excellent video!!!

arvind nikam says:

Thank you so much dear brother…. You give me lot of confidence….

Harmandeep Pannu says:

Bought your Node js course it’s awesome will buy this one today thank yoi 🙂

Pradeep Gahlawat says:

Waiting for more such videos, keep up the good work.

rana az says:

I’m in love with your tutorials Mosh , Thank you

Pedro Brost says:

What vscode theme are you using?

Kubek IT Technology says:

Wow. What a bomb. This is absolutely phenomenal tutorial !!! How long will be last full OOP course ?

AL Emran says:

Great video thanks

xviewmytubex says:

Total noob questions here regarding Abstraction: What is the “outside” that you are referring to when you say “you can hide some of the properties/methods from the outside”? And, what are/is the “inner” regarding the methods going through change? Lastly, what is the word you use that is eliminated by Polymorphism when you say “helps you get rid of long “____”? I can’t make that out, I’m sorry. I’m just starting with this video and I like the moderate pace in which you teach. It helps me take notes without much pausing. Keep up the great work. Thank you for the help! =).

gena podkoritov says:

Amazing! Thank you!

bryan canelas says:

Hi Mush, I love the way you explain. Could you please upload a video with all the components you have in VS Code?

Ilya Zhidkov says:

Hi Mosh! Is this course included in your Christmas sale (one year subscription?) I can see it on my dashboard but there are no lectures. Thank you.

Alok Tripathi says:

great explanation Mosh, you are the simple, concise and best.

Amir Hosain Meysami says:

Thx from IRAN.

won ton soup says:

Hey Mosh, you said in the video “In javascript we don’t have the concept of classes” but with ES6 that is no longer correct, can you clarify what you meant? Thanks by the way, I’ve been waiting for a course _exactly_ like this for a long time so I’ll be purchasing it today 🙂

prateek sarda says:

always awesome tutorials Mosh. Thank you

George Smith says:

Mosh I come from an OOP background and I was really confused with objects in Javascript. Fortunately, this tutorial cleared up a lot of things. However, I am wondering if these are worth knowing since ES6 defines proper objects via classes and not by functions as shown here. Will this be covered in your course? thanks

trapped cat says:

I prefer factory functions over new objects. Less maintanence.

Hasibur Rahman says:

Your tutorial is Awesome. Thanks Mosh

S says:

that was excellent!

LearnDigitalAudioTV says:

LOVE the tutorial, but please could you not have all the still images constantly moving towards the viewer! It’s a nice one off effect, but it makes me feel a bit sea sick and also makes it harder to concentrate on what you are saying. Cheers 🙂

qbacreative says:

Can you please add this full tutorial to Udemy as well?

G Kibria says:

Thanks Mosh for great tutorial. I have a question. You said there is no class in JavaScript, but I found this https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

CodingAndCaffeine says:

a very good explanation, keep teaching like this! thanks

bananapeppernov says:

Thank you so much for this!

Memeche12 says:

Just bought it, but i was wondering, will it be available at Udemy?

AureliaCasts says:

Great tutorial on OOP, thanks!

Pardeep Sharma says:

Very good explanation. Thanks Mosh..

Richard Carroz says:

Mosh, Excellent!

Jeff Landen says:

I love your courses and thank you for this youtube channel too. Can you please make a VueJs course and use it to make the same angular shopping Web App you made in your angular 2 course?

Biju KP says:

Good tutorials , simple & easy to understand . Thank You

Joseph Dubeau says:

Type script is by far much easier to read than java script.

Андрій Андріюк says:

Mosh, what color theme do you use in VS Code in this video?

Dennis Kamonde says:

Thank you

Jarosław Bagnicki says:

As usual, Mosh explains in depth :). When can we expect publication?

Pritam Das says:

@16:07 How did you change multiple values at once? I googled about this, but couldn’t get any good result.

Edcel Cau says:

i learn alot from you thanks mosh ☺

ShadowViper says:

can object literals have private properties and private methods?

Alex Halemba says:

you are using already es6 stuff. why do you not use “class”?

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!