Object Oriented JavaScript

Get the Cheat Sheet Here : http://goo.gl/CQVZsW
Best Object Oriented JavaScript Book : http://amzn.to/1L0Mvs8

Support me on Patreon : https://www.patreon.com/derekbanas

01:50 JavaScript Objects
02:36 Objects in Objects
04:12 Constructor Functions
05:58 instanceof
06:28 Passing Objects to Functions
08:09 Prototypes
09:34 Adding Properties to Objects
10:44 List Properties in Objects
11:38 hasOwnProperty
12:42 Add Properties to Built in Objects
14:31 Private Properties
18:01 Getters / Setters
21:20 defineGetter / defineSetter
24:38 defineProperty
27:07 Constructor Function Getters / Setters
29:40 Inheritance
37:13 Intermediate Function Inheritance
39:14 Call Parent Functions
41:51 ECMAScript 6
47:31 Singleton Pattern
49:32 Factory Pattern
52:53 Decorator Pattern
54:52 Observer Pattern


Ollip HPSW says:

Derek, how many programming languages do you know? With how many do you actually work? How many years of experience do you have? I want to be like you.

Anthony Chan says:

Coming from java OOP and learning javascript, ECMAScript 6 looks amazing

alexander shekhtman says:

it seems that JS is almost the same as ruby, minus the need for { } and the () in function calls.
what else is a major diff so far?

darkfafi says:

You are a bible to programmers Derek. Thank you so much! You are clear, quick and to the point. I learn the most from your videos as a programmer.

Jorge Sepulveda says:


alexander shekhtman says:

did you ever watch CodeSchool’s “JavaScript Best Practices. I got completely lost right after Lesson Two, Section 4, maybe even before. Could you do a video that explains everything in that Course in more depth and on a simpler lever, as they went through the material very quickly.

alexander shekhtman says:

which setter/getter methodology is preferred: the first one, second one, or last one? (that ends at 29:30)?

Nanashi Mumei says:

what’s the point of the special ways to make setters and getters when I can make my own functions?

Abdul Rashid says:

First time i came to know that

function abc(a,b,c,d,e){
abc.length will show the number of arguments.

GAGSEU says:

what do you call the window.propt etc etc?

santharao chimili says:

I liked it

Matt Caimi says:

my favorite way to learn programming

Kimse says:

Thanks .This was very helpful .

bruno boris says:

Hello, which is the version of Sublime Text and the JavaScript package that you are using in the video? Could you share the link available for download?

M Viktor says:

ok. what the hack did u do with the singleton pattern there?

pojen Hsiao says:

Great video and very useful.
Thank you.

Abhishek Saini says:

Hi @Derek Banas, thanks for making this video. I want to know why we are using temp which comes in Intermediate Function Inheritrance section.

Ayaz Uddin says:

you are a god among men.

Savin Catalin says:

you speek to fast for a beginner and i don’t understand anything , but you are good and that’s a fact 🙂

alexander shekhtman says:

at 23:41 I made my code like this and it works. what is wrong with it even though it works:
function address(){
this.adress = address;
this.city = city;
this.state = state;

this.getAddress = function(){
return this.street + “, ” + this.city + “, ” + this.state;

this.setAddress = function(theAddress){
var parts = theAddress.toString().split(“, “);
this.street = parts[0] || “”;
this.city = parts[1] || “”;
this.state = parts[2] || “”;
address.setAddress = “123 Main Street, SF, CA”;

Vörös Zoltán Hero says:

I have to say tanks for your videos. You saved my life lot of times. 🙂

john doe says:

Can you tell me which source file(api) include to get javascript working?

Melissa Rainchild says:

thanks for posting! Incindentally, nice touch around index 7:10 where Bob became Sue. I, as transgender, did appreciate this 🙂

nikolas blues says:

Awesome! you are great teacher! thanx a lot!

Jeanne McCabe says:

I can’t believe you can make these marathon videos! Thank you.

Chris Villareal says:

Why did you make tutorial like this for the people who already know about OOP and not for the people who don’t?

Jeanne McCabe says:

Adding the time stamps is a wonderful idea. When I am not just trying to learn from you tube videos, but trying to do a real program, I can never remember a useful video. This will make finding your examples so much easier. Thanks for going the extra mile.

Paul Iştoan says:

The best JavaScript OOP tutorial on YouTube!

JSNode says:

This guy ever takes breathe.

Gaurav Tiwari says:

Thanks a lot Derek… 🙂
I was having an number of questions regarding OO javascript but now most of them are solved.
You explained it quite effortlessly.

Thank you once again 🙂

Haytham Al-Dokanji says:

Excellent presentation. Thanks Derek!

Hydro says:

“Use cheat sheets, don’t try to memorise all this stuff – that’s the reason why I made you cheat sheets”

I’ve never related to a YouTuber more until this very moment.

 Write a comment


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

Please click below to support us on Facebook!