I've read countless JavaScript blogs and books on Constructors and Prototypes but they don't explain it as crystal clear as you do. You should seriously write a book man. Would love to see you break down and pick apart an angular or node.js tutorial. Thanks for making these videos. I know making them takes ALOT of work and time to develop.
+P8860 Thank you :) it is nice to hear that I cleared everything up. Maybe I'll make a book some day and sell it for $1 just to see how many sell. Angular and Node are coming right after JQuery.
+Abdel Ouery , i totally agree with you, he's better than my real teachers here ,every year i graduate is because of his tutorials ,so thank you again sir +Derek
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.
I'm only 35 minutes but you've already solidified a few concepts that have been somewhat unclear to me for the last few months. My sincere gratitude! Thanks!
This is freakin' legendary! The best part I like about your style is how you are so quick in going over concepts, which all the other tutors take ages to go through at the ultimate cost of the student completely giving up on the tutorial! Great job sir!
The most concise and clear tutorial in JS OOP I've ever watched. One request is a link to a project where I can practice on. Maybe a CRUD project like Customer Management or something else?
This is a superior video to those I've watched recently. I'm coming from C#/C++ with very little javascript, and I was looking for a good primer. You are: #1 Easy to understand. Good communicator. Clear audio. #2 Concise and quick with your accompanying code. #3 Smart about the educational route you go down. I think this is too dense for a beginning programmer to learn from in one go, and my only advice to them would be... watch it four times. It is hard to find information of this quality and density presented by someone without an Indian accent... (I'm only half joking)
Thanks Derek for this and for the tutorial 'Learn JavaScript in one video'. I have chewed on the book 'JavaScript The Definitive Guide'. So I had some knowledge regarding JavaScript but these two videos are given an awesome overview, connects everything and every bit of JavaScript comes to life. Amazingly good stuff!
It would be very cool if you start doing tutorials with projects. Like learning JavaScript by doing a dynamic site, learning HTML by doing a static site, etc. Great tutorials by the way.
+Jesus-Pierre-Miguel Salgado III Thank you :) I think I kind of did that in the past and those videos still hold up. I made sliders, tons of website layouts, shopping carts, etc. They are kind of hard to find in my sea of 700 videos, but I'll point you towards them if you'd like to see something specific.
+Jesus-Pierre-Miguel Salgado III This will give you a bunch www.newthinktank.com/?s=website+layout I have over 100 Wordpress videos in which I make real things with JavaScript and PHP here www.newthinktank.com/videos/web-programming/wordpress-how-to/ I made a shopping cart here www.newthinktank.com/2011/12/wordpress-shopping-cart-tutorial/
I am not able to handle more than 2 languages at one point of time, how is is possible to give such an awesome explanation on almost all programming languages out there. Am awestruck! You are a superman!
+Sandeep Devaraj Thank you for the compliment :) I guess I have just been switching back and forth for so long it is natural. I definitely prefer some languages over others though
@@derekbanas You did such a good job explaining this, I was able to simplify it even more in explaining it to my non-programmer wife for the software they're developing at her company, and holy **** did it feel good and that was the first time i've ever been able to see class objects and extended class purposes in a RL scenario which I could understand and came up with. Cannot thank you enough!
I believe this may clear some confusion. At around 32:44 Derek says that when the prototype is changed (from the base Object (which is default )) , that the prototype.constructor will point to the Object object... In reality it points to the function the prototype Object was set with: function Animal(){ this.kind="Animal" this.breathing="yes" }//default prototype =object Object function Cat(){ this.type="Cat" this.sound="meeow" } Cat.prototype=new Animal(); //set new prototype ...mess up .constructor /// needs Cat.prototype.constructor=Cat ......to be accurate var kitty1=new Cat(); console.log(kitty1.constructor) ///// Logs: function Animal(){ this.kind="Animal" this.breathing="yes" }------incorrect
in the first 3 minutes i learned more than I did taking about 2 weeks of online courses and speaking to javascript developers. People really need to learn how to communicate better.
Derek, this is a great video, been looking for something like this for ages. I am struggling with going to oop from procedural and every course either merely teaches the basics about objects and classes or it's way too advanced, nothing in between. Many many thanks! Will be checking out your whole channel later.
Why do I feel every time I watch any of your videos covering any programming language, that it was you who invented that language? It is mind blowing your breadth of knowledge.
+Derek Banas No No I am not pulling your leg I am just trying to say that to become a pro there's lot of geekiness requried and I know that as programmer...............
@Derek Banas - I'm also interested in the answer to @SaharS question. And thank you for such a straight forward and in-depth explanation of OO JS, this was very helpful.
I think he made that (the extend function), only because he wanted to evade duplicated code in every type of animal he thinks. And i think, doing: Child.prototype = Object.create(Parent.prototype); Would make more sense... And lastly, about *Child.prototype = new Parent()* If you do that, you inherit *ALL the Parent Object*, not only the _Parent Prototype Object_.... That means, all the things defined inside that _Parent Object_ would be public too. For example; if you have: function Parent() { this.somethingAboutParents = "Yells all night"; } Using your aproach, Child.prototype = new Parent(); For each Child you create, you will have access to that property new Child().somethingAboutParents // --> 'Yells all night' Using *Object.create(Parent.prototype)* instead, you only inherit the *Parent Prototype Object*, not *all* the *Parent Object* including his _Parent Prototype Object_.
yeah I asbsolutely agree w. Abdel, you Derek are an endless fountain of wisdom/insight on ALL of the major web technologies and programming languages. Bravo!
+Derek Banas "I'm not that smart" I don't know aboiut that. You are certainly smarter than a ny other youtube video explainer of some web technology! What college did u go to or was all of your knowledge ontained thru a lotta self-teaching/training?
+Steve Burrus Thank you :) I went to school for electrical engineering and illustration. I wanted to work for a special effects company. I taught myself the basics of programming when I was very young. I learned the advanced stuff on the job.
That's encouraging to read. I just graduated with a BSEE. I am doing an MSEE now, but I want to transition into computer programming. It seems like way more fun, and I like the idea of working from home and waking up and going to sleep on my schedule.
Thanks for another amazing video Derek. It's hard to believe that someone would have such vast knowledge of all this stuff you post here on your channel. Keep it up!!!
i couldnt agree more with you man.huge step for Javascript this time.!!the whole prototype thing was the reason i contemplated trying my hands on Javascript.but now that there is class. OOP on javascript is gonna get on a whole different level
Thanks for this tutorial, very helpful. One suggestion is consider doing tutorials in a dark mode. Personally I tend to get eyestrain with the classical black on white. Anyhow thanks again.
Hi Derek, I have been following your tutorials for more than 3 years. Just want to thank you as I have learned at lot from your tutorials. Please do the tutorial on React Js/Reach Native as well. Thanks
I have no idea if you have actually done this ( not taking the videos posted onto your website in account ), but you should create videos that build onto these main videos, in a way of using the newly obtained knowledge to create something, a seperate, simple project. This would completely solidify everything learned in this video. It is possible to go out and brew up personal projects, but it'd be a fun thing to watch/follow, and you'd be attracting a greater audience ;) Thank you for the video as it is, I've learned quite some things from it!
+H. Pavlovic Thank you for the input :) Yes I'm working towards making videos in which I make a bunch of large JS programs. I'll mainly focus on games because people seem very excited about making them.
I really apreciate your tutorials have taught me what programming is, you are very intelligent person to share their knowledge enriches it even more. Hope and move on anyone´s purpose. God bless you my friend.
Thank you Derek Banas,you did a very good job, I spend much time in learning js, html, css, after I watched your video, I found that I was wasting time before!
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 :-)
At 49:20 this is a global object. You don't create new object, you add props to global obj! And in fact yours singleton is refer to global object. What you need is to invoke Hero with keyword new.
Many thanks for this great overview of the many possibilities. It leaves a bit overwhelmed giving a old school pascal background but knowing OO Design (not programming). I agree it would make sense to elaborate the programming choices and solution path visually with the why 's of the to be solved real live scenario 's providing the starting context. I realize that for example a pizza shop it would mean a video itself. Again, thx. for this great video to get a clue about the 'insane' number of possibilities .
+Derek Banas ...in the meantime I have had a first look at the patterns book (flanagan) etc. I am really jumping in this exploring it from middle-out. I am currently thinking about the best way to approach a traffic light simulation as a simple state machine (red, green, orange, stop, run, onservice). DesignIdea is 3 objects (timer, trafficlight, display) . My thinking problem is that I see the object-abstraction as objects sending messages to each other and reacting on it based upon object state changes (in a networked object model). Instead of sending messages to each other and reacting on that, I guess they need to invoke each other methods instead. That implies the sending object needs to know the internal behavior of the receiving object instead of sending just a message (event). That 's where I get lost between design and programming.🤔
Hello Derek Banas, This "oops concept" video tutorial are rally good and each example of session whiten a short time its explained so good examples. I was exactly suppose to looking for same video. And I find this video. The person who have little bit knowledge about "Javascript " and he want to know more advance about "Javascript" Opps concept its really good for them ..! I also recommend ate to my friend this video. thank You Derek Banas..!
Thank you for also giving good reference books, as it helps filter which publishers and authors are worth reading for better understanding and practices. :)
+Yahanan Rivière Your welcome :) The book I recommend is the one that students tell me they like the best. Always check online because they are often available for free.
Is my understanding that, prototypes are basically a shorthand version of adding properties/function objects to an object, correct? Also, is my understanding that, object creation basically consists of three parts: 1. defining (creating) the object, 2. adding properties (members), 3. adding methods (functionality) to the object and it's properties, correct? I like your tutorials. I'm a total noob. Thank you. =).
Hey Derek, could you make an asp.net tutorial series? I've been looking for one for my computer science project but there are no good ones out there (in youTube, at least), so I'd really love to see one of these' since you make so easy-to-understand tutorials. Love your work. Thanks!
The only thing I have trouble with Derek Banas is visualising this code used in a gametype or anything practical enviroment. If you know what I mean.. Learning a cookbook does not make me a good chef :P
+Patrick Allen I'll be making a ton of JavaScript mobile games in the next few weeks. You'll get tons of time to practice and have fun hopefully as well :)
At 48.58 var derekHero = Hero("Derek"), shouldn't there be a new here? This is a special case too since it is a Singleton. So what is the actual difference between having "new" and not having "new" before constructor function invocation in non-Singleton context?
Hey Derek, I have couple of questions? How do you create enum in JavaScript? And how would you use it in your Pizza example? Instead of creating a ExtraCheese function, is there a way to create a function named Extra() that has either cheese or veg or meat variables, And based on what user pass, the price is changed. Sorry..if question is not clear..
hello I just want to say thanks alot for all these videos, for the longest ive been terrified by javascript and other surrounding languages, with these videos and codeacdemy and w3s , im ony my way to updating my skill set to become more marketable web developer!!!! thanks!!!!!!!!
Nice to see something on OO JS, you don't see these design patterns taught too much in JS, mostly in mentioned in Java, C# etc. Not sure how much overall interest there is currently, but there's very few good tutorials for Ember/Ember Cli/Ember data, If you have any experience with it. Shame as it's a very nice framework, took me ages to figure it out without good tutorials though and I've still not got the Data part integrating with APIs as I'd like.
+Paul J Kimberlee Thank you :) Yes Ember is quite complex. I'll need to include tons of diagrams in the video just to help people keep everything straight. I'll see what i can come up with.
+Derek Banas Cool! yeah it's not so straightforward to conceptualize at first, something like your Rails tutorial would be really helpful to people who are interested in it. The only resource I've seen for the CLI is a $30 ebook, which is a lot if people just want to check out the framework to see if it's right for them.
+Derek Banas Whooah! Yet another great tutorial! Have you considered doing a Learn-Groovy-in-one-video tutorial? I know you did one about Scala recently - but considering a growing interests in alternative JVM languages, and the rumors about Oracle dropping interest in Java platform, Groovy might by an interesting topic to talk about as well.
Thanks man, awesome tutorial as always the problem is that i watch the video, next day i forget everything because i find myself too lazy to pratice :(. if we did not use the stuff we learned in a project, we will not be able to learn them easily, that is why people take years to master a language. however, your videos are much more helpful when you are doing a project.
I've read countless JavaScript blogs and books on Constructors and Prototypes but they don't explain it as crystal clear as you do. You should seriously write a book man. Would love to see you break down and pick apart an angular or node.js tutorial. Thanks for making these videos. I know making them takes ALOT of work and time to develop.
+P8860 Thank you :) it is nice to hear that I cleared everything up. Maybe I'll make a book some day and sell it for $1 just to see how many sell. Angular and Node are coming right after JQuery.
Your channel is like a big book of secrets, contains every thing a programmer needs to know about a programming language, Thank you fo that :)
+Abdel Ouery Thank you for the compliment :) You're very welcome
+Abdel Ouery , i totally agree with you, he's better than my real teachers here ,every year i graduate is because of his tutorials ,so thank you again sir +Derek
+Derek Banas can you make bash in one video
+Abdel Ouery except theyre not secrets. theyre in books too. :D
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.
I'm very happy that they help :)
30:37 multilevel polymorphism like living>animal>mammal>human>citizen>employee
I'm only 35 minutes but you've already solidified a few concepts that have been somewhat unclear to me for the last few months. My sincere gratitude! Thanks!
+Derrik Nasca You're very welcome :) I'm happy that I could help.
This is freakin' legendary! The best part I like about your style is how you are so quick in going over concepts, which all the other tutors take ages to go through at the ultimate cost of the student completely giving up on the tutorial! Great job sir!
Thank you for the compliment :) I'm very happy that the videos help
The most concise and clear tutorial in JS OOP I've ever watched. One request is a link to a project where I can practice on. Maybe a CRUD project like Customer Management or something else?
Thank you very much :) I'll see what I can do about the request
This video explains OOPs concepts in JS perfectly and to the point, instead of going in circles when reading any book! Thanks much!
Thank you :) I'm glad it helped
This is a superior video to those I've watched recently. I'm coming from C#/C++ with very little javascript, and I was looking for a good primer. You are:
#1 Easy to understand. Good communicator. Clear audio.
#2 Concise and quick with your accompanying code.
#3 Smart about the educational route you go down.
I think this is too dense for a beginning programmer to learn from in one go, and my only advice to them would be... watch it four times. It is hard to find information of this quality and density presented by someone without an Indian accent... (I'm only half joking)
Thank you for the very nice compliments :) I greatly appreciate them.
Thanks Derek for this and for the tutorial 'Learn JavaScript in one video'. I have chewed on the book 'JavaScript The Definitive Guide'. So I had some knowledge regarding JavaScript but these two videos are given an awesome overview, connects everything and every bit of JavaScript comes to life. Amazingly good stuff!
+robkremers Thank you :) You're very welcome
It would be very cool if you start doing tutorials with projects. Like learning JavaScript by doing a dynamic site, learning HTML by doing a static site, etc. Great tutorials by the way.
+Jesus-Pierre-Miguel Salgado III Thank you :) I think I kind of did that in the past and those videos still hold up. I made sliders, tons of website layouts, shopping carts, etc. They are kind of hard to find in my sea of 700 videos, but I'll point you towards them if you'd like to see something specific.
Derek Banas If you could point me to those videos, that would be great.
+Jesus-Pierre-Miguel Salgado III This will give you a bunch www.newthinktank.com/?s=website+layout
I have over 100 Wordpress videos in which I make real things with JavaScript and PHP here www.newthinktank.com/videos/web-programming/wordpress-how-to/
I made a shopping cart here www.newthinktank.com/2011/12/wordpress-shopping-cart-tutorial/
Derek Banas Thank you.
Right now we're flying at an altitude of 36,000 feet....
hahah he really does have the perfect voice for it
EPIC!
hahahaha
Hilarious! Exits to your left and right
Thanks man been a Software developer for 20 years and still learning thanks again
+adamfakes you're very welcome 😊
BY FAR the best books for javascript are the 'You don't know JS' series. definitely check them out
The 'PERFECT' technologist and 'MASTER' instructor!!
Thank you for the nice compliment :)
I like your presentation. It makes it easier to understand whereas other tutorials can be quite messy.
+Jumbled Code Thank you :) My number 1 goal is to make everything understandable.
I am not able to handle more than 2 languages at one point of time, how is is possible to give such an awesome explanation on almost all programming languages out there. Am awestruck! You are a superman!
+Sandeep Devaraj Thank you for the compliment :) I guess I have just been switching back and forth for so long it is natural. I definitely prefer some languages over others though
For get and set , I think you should name both getAddress and setAddress just to address. It makes more sense.
I didn't understand OO JS before this video. Thanks!
+Bogdan Mitrovic Your welcome :) I'm happy that I cleared it up.
freaking wonderful! i've been trying to wrap my head around OOP for years and it's finally making more sense now.
Thank you 😁 Happy to be of help
@@derekbanas You did such a good job explaining this, I was able to simplify it even more in explaining it to my non-programmer wife for the software they're developing at her company, and holy **** did it feel good and that was the first time i've ever been able to see class objects and extended class purposes in a RL scenario which I could understand and came up with. Cannot thank you enough!
This video is so useful for people who already know the concept of OOP, and want just to learn JS's way to do it. Thank you so much. Cheers!
Thank you very much :)
I believe this may clear some confusion. At around 32:44 Derek says that when the prototype is changed (from the base Object (which is default )) , that the prototype.constructor will point to the Object object... In reality it points to the function the prototype Object was set with:
function Animal(){
this.kind="Animal"
this.breathing="yes"
}//default prototype =object Object
function Cat(){
this.type="Cat"
this.sound="meeow"
}
Cat.prototype=new Animal(); //set new prototype ...mess up .constructor
/// needs Cat.prototype.constructor=Cat ......to be accurate
var kitty1=new Cat();
console.log(kitty1.constructor)
///// Logs:
function Animal(){
this.kind="Animal"
this.breathing="yes"
}------incorrect
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.
Thank you for the compliment :) I'm very happy that the videos are helping
in the first 3 minutes i learned more than I did taking about 2 weeks of online courses and speaking to javascript developers. People really need to learn how to communicate better.
I'm happy it was helpful :) I do my best to cover a lot as quickly as possible
Derek, this is a great video, been looking for something like this for ages. I am struggling with going to oop from procedural and every course either merely teaches the basics about objects and classes or it's way too advanced, nothing in between. Many many thanks! Will be checking out your whole channel later.
Thank you :) I'm very happy that the video helped
Pretty awesome tutorial. Loved the examples. Would say the best OO JavaScript tutorial out there. Thanks again
Thank you very much :)
I think this is the only series of tutorials that do provide the code! It's priceless!!! I owe you a lot. All the best and keep going!
Thank you for the compliment :) I have another were I make JS apps and games th-cam.com/video/IyDVvGmzTlo/w-d-xo.html
Why do I feel every time I watch any of your videos covering any programming language, that it was you who invented that language? It is mind blowing your breadth of knowledge.
You're very kind. I promise I'm not very smart in real life
Derek Banas I get asked many times about online learning. And your channel is the first I recommend.
You're welcome.
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
From.v.f.vvvv.vv...v.cnv.d.fvcvbv.vvvvv.c
I missed ur Java stuff.. used to watch everyday for preCollage java.. Thanks again for making another beautiful tutorial
+Much Online Thank you :) I'll be making more Java videos soon.
Honestly speaking sometimes I wonder how much talent that you have.... Hats off to you!!!!!!!!!!!!!
+Deep mandal Thank you :) I promise you that I'm not that smart.
+Derek Banas No No I am not pulling your leg I am just trying to say that to become a pro there's lot of geekiness requried and I know that as programmer...............
at 38:08 - the extend function -
why not simply do
Child.prototype = new Parent();
Child.prototype.constructor = Child;
Exactly. Using his function can't get the toString() to work.
@Derek Banas - I'm also interested in the answer to @SaharS question. And thank you for such a straight forward and in-depth explanation of OO JS, this was very helpful.
+1, that confuses me too. everything works without Temp
I think he made that (the extend function), only because he wanted to evade duplicated code in every type of animal he thinks.
And i think, doing:
Child.prototype = Object.create(Parent.prototype);
Would make more sense...
And lastly, about *Child.prototype = new Parent()*
If you do that, you inherit *ALL the Parent Object*, not only the _Parent Prototype Object_.... That means, all the things defined inside that _Parent Object_ would be public too.
For example; if you have:
function Parent() {
this.somethingAboutParents = "Yells all night";
}
Using your aproach, Child.prototype = new Parent();
For each Child you create, you will have access to that property
new Child().somethingAboutParents // --> 'Yells all night'
Using *Object.create(Parent.prototype)* instead, you only inherit the *Parent Prototype Object*, not *all* the *Parent Object* including his _Parent Prototype Object_.
yeah I asbsolutely agree w. Abdel, you Derek are an endless fountain of wisdom/insight on ALL of the major web technologies and programming languages. Bravo!
+Steve Burrus Thank you for the very nice compliment :) I can promise you though that I'm not that smart.
+Derek Banas "I'm not that smart" I don't know aboiut that. You are certainly smarter than a ny other youtube video explainer of some web technology! What college did u go to or was all of your knowledge ontained thru a lotta self-teaching/training?
+Steve Burrus Thank you :) I went to school for electrical engineering and illustration. I wanted to work for a special effects company. I taught myself the basics of programming when I was very young. I learned the advanced stuff on the job.
That's encouraging to read.
I just graduated with a BSEE. I am doing an MSEE now, but I want to transition into computer programming. It seems like way more fun, and I like the idea of working from home and waking up and going to sleep on my schedule.
awesome talk
Coming from java OOP and learning javascript, ECMAScript 6 looks amazing
Yes it is a vast improvement
Thanks for another amazing video Derek. It's hard to believe that someone would have such vast knowledge of all this stuff you post here on your channel. Keep it up!!!
+Joy Karbah Thank you for the nice compliment :) I'm glad I can help.
Great job done Derek . Really precise tutorial with all what you need to know about the language . Looking forward for Angular 2 on the same lines .
Thank you very much :) I'll see what I can do about Angular
I hope this video will lead to thousands of lines of awesome code by its viewers. Thanks Derek
+anubhav aeron I do as well :) You're very welcome
I like the ECMAScript 6 because the style seems like to Java code. Then, I can reduce the time learning OO JavaScript.
+Lester Yes it will much improve JS whe it is supported by all the browsers. Can't wait for that to happen.
I really do not expect this tutorial, and this morning it is there. You are wonderful! Thank you so much! I have much to do and go to work!
+Antik Lee (高偉麗) Thank you for the compliment :) I'm happy that I could help.
Thank you for taking the time to make all of these tutorials. So much knowledge available thanks to you!
+Johnny G You're very welcome :)
I can't believe you can make these marathon videos! Thank you.
Thank you :) I'm happy you like them
The best JavaScript OOP tutorial on TH-cam!
Thank you very much :)
finally we are getting some Java into Javascript with Class coming in.
+gidmanone It is great that JS is constantly improving :)
i couldnt agree more with you man.huge step for Javascript this time.!!the whole prototype thing was the reason i contemplated trying my hands on Javascript.but now that there is class.
OOP on javascript is gonna get on a whole different level
Thanks for this tutorial, very helpful.
One suggestion is consider doing tutorials in a dark mode. Personally I tend to get eyestrain with the classical black on white.
Anyhow thanks again.
+Tom Ormiston Your welcome :) I'll have to experiment with the different themes. Thanks for the input
Hi Derek, I have been following your tutorials for more than 3 years. Just want to thank you as I have learned at lot from your tutorials. Please do the tutorial on React Js/Reach Native as well. Thanks
+jimish shah Thank you :) React is coming soon.
You've outdone yourself once again Derek! Thank you so much!
+George Park Thank you :) You're very welcome
I have no idea if you have actually done this ( not taking the videos posted onto your website in account ), but you should create videos that build onto these main videos, in a way of using the newly obtained knowledge to create something, a seperate, simple project.
This would completely solidify everything learned in this video. It is possible to go out and brew up personal projects, but it'd be a fun thing to watch/follow, and you'd be attracting a greater audience ;)
Thank you for the video as it is, I've learned quite some things from it!
+H. Pavlovic Thank you for the input :) Yes I'm working towards making videos in which I make a bunch of large JS programs. I'll mainly focus on games because people seem very excited about making them.
Derek Banas OOP really shines when working something out in a form of a game
I like JS more and more. It seems they are making it more pythonic as days go by. very useful
Yes I agree JS is constantly improving
New favorite channel. This is straight up aces.
+Naythan Williams Thank you very much :)
This is the best JS OOP tutorial on the internet.
Thank you for sharing the code, and also leaving explaining comments:)
+Kerim Grozny Thank you for the compliment :) Your welcome
Wow, dude! I can’t thank you enough for your channel!!! Please keep up the awesome work.
I really apreciate your tutorials have taught me what programming is, you are very intelligent person to share their knowledge enriches it even more. Hope and move on anyone´s purpose. God bless you my friend.
+Josh Fernandez Thank you for the nice compliments :) I greatly appreciate them.
Thank you thank you thank you!! Haven't watched it yet but I know it's going to be awesome! Been waiting for this one!! You are da man!!
+Mike Ulrich Thank you for the compliment :) I hope it helps.
Love your "Learn... In One Video" videos!! So useful! Have you thought about doing one for Pascal?
Thank you Derek Banas,you did a very good job, I spend much time in learning js, html, css, after I watched your video, I found that I was wasting time before!
Thank you ::) I'm happy it helped
Perfect overview. Even though you speak probably very fast for non-native speakers but your speech is very clear. Thank you for that. Catch a like :)
Thank you very much :)
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 :-)
That's awesome! I'm glad it helped :)
At 49:20 this is a global object. You don't create new object, you add props to global obj! And in fact yours singleton is refer to global object. What you need is to invoke Hero with keyword new.
Many thanks for this great overview of the many possibilities. It leaves a bit overwhelmed giving a old school pascal background but knowing OO Design (not programming). I agree it would make sense to elaborate the programming choices and solution path visually with the why 's of the to be solved real live scenario 's providing the starting context. I realize that for example a pizza shop it would mean a video itself. Again, thx. for this great video to get a clue about the 'insane' number of possibilities .
+phkonings You're very welcome :) I agree that I could do many tutorials on this topic and I may just do that.
+Derek Banas ...in the meantime I have had a first look at the patterns book (flanagan) etc. I am really jumping in this exploring it from middle-out. I am currently thinking about the best way to approach a traffic light simulation as a simple state machine (red, green, orange, stop, run, onservice). DesignIdea is 3 objects (timer, trafficlight, display) . My thinking problem is that I see the object-abstraction as objects sending messages to each other and reacting on it based upon object state changes (in a networked object model). Instead of sending messages to each other and reacting on that, I guess they need to invoke each other methods instead. That implies the sending object needs to know the internal behavior of the receiving object instead of sending just a message (event). That 's where I get lost between design and programming.🤔
I really like the pacing of this video. Thank you.
Thank you :)
Hello Derek Banas,
This "oops concept" video tutorial are rally good and each example of session whiten a short time its explained so good examples. I was exactly suppose to looking for same video. And I find this video. The person who have little bit knowledge about "Javascript " and he want to know more advance about "Javascript" Opps concept its really good for them ..!
I also recommend ate to my friend this video. thank You Derek Banas..!
Thank you very much :) I'm very happy that you liked the video
Wow!!! this is the best useful javascript tutorial i have ever seen! thank you so much :)
Thank you :) I'm happy it helped
Derek, anything on JS modules (exports, imports..)? and their best practices?
JSLint does not validate get getRadius(), it does work though. Probably we can just use "home-made" getters and setters to avoid this non-validation.
Simply superb stuff. Enjoyed a lot to refresh all js concents. 😊😊😀
Thank you very much :)
Excellent presentation. Thanks Derek!
Thank you :)
Thank you for also giving good reference books, as it helps filter which publishers and authors are worth reading for better understanding and practices. :)
+Yahanan Rivière Your welcome :) The book I recommend is the one that students tell me they like the best. Always check online because they are often available for free.
looks like one of very few video tutorials that can keep the tempo with written ones
+Načančaný Okamžiku I cover as much as possible and try to keep everything interesting :)
+Derek Banas I appreciate it, thank you :)
Thank you very much for this tutorial. I'm very prefer to lean OOP in javascript.
+Dipendra Thapamagar You're very welcome :)
Many unknown funda cleared in this video. Thanks.
+Dhaval Patel Your welcome :)
Very useful tutorial that I would recommend to serious programmers. Thanks for sharing!!!
+Aditya Damaraju Thank you very much :)
Awesome information, specially creating Observable.
Thank you :) I'm happy it helped
Awesome tutorial!
Derek, in the future, can you do a ionic framework tutorial?
+Alexey Kurbatsky Thank you :) I'll try to fit that in with my Angular tutorial.
my favorite way to learn programming
Thank you :)
Is my understanding that, prototypes are basically a shorthand version of adding properties/function objects to an object, correct? Also, is my understanding that, object creation basically consists of three parts: 1. defining (creating) the object, 2. adding properties (members), 3. adding methods (functionality) to the object and it's properties, correct? I like your tutorials. I'm a total noob. Thank you. =).
Wow, this is awesome.Loved the cheatsheet!
+Branko Zivanovic Thank you very much :)
Derek, Thank you for all of your insights. You're a Genius.
You're very welcome :) Thank you for the compliment
Hey Derek, could you make an asp.net tutorial series? I've been looking for one for my computer science project but there are no good ones out there (in youTube, at least), so I'd really love to see one of these' since you make so easy-to-understand tutorials.
Love your work. Thanks!
+טום טוביאס Thank you :) Yes ASP is on the list.
Awesome Object Oriented video,Thank you so much.
+Satya Sahoo thank you very much😀
I had been following a javascript course at Codecademy but stopped at 60%... THIS video is what I needed
+Patrick Allen Great! I'm glad you liked it :)
The only thing I have trouble with Derek Banas is visualising this code used in a gametype or anything practical enviroment. If you know what I mean.. Learning a cookbook does not make me a good chef :P
+Patrick Allen I'll be making a ton of JavaScript mobile games in the next few weeks. You'll get tons of time to practice and have fun hopefully as well :)
Its an amazing, simple articulation and demonstration thought the hour to teach the OOJS! Thanks Derek :)
Thank you very much :)
At 48.58 var derekHero = Hero("Derek"), shouldn't there be a new here?
This is a special case too since it is a Singleton.
So what is the actual difference between having "new" and not having "new" before constructor function invocation in non-Singleton context?
It would be nice if you can do a full project or projects to show the usage of this languages
+don1559 Many JavaScript tutorials are coming. I'm currently making them in my NodeJS playlist
I just discovered you. You're my hero.
+Alejandro Villena Thank you :)
i like you because you're fast and right on point!
Thank you :) I don't like to waste peoples time
Thanks man..Refreshed my JavaScript knowledge.Please post a tutorial on Angular JS
+Kiran Muralee Your welcome :) The Angular tutorial is coming.
best oo js tutorial till now
Thank you for the compliment :)
Nice Tutorial Derek!... Thanks a lot!
Thank you very much :)
Hey Derek, I have couple of questions? How do you create enum in JavaScript? And how would you use it in your Pizza example? Instead of creating a ExtraCheese function, is there a way to create a function named Extra() that has either cheese or veg or meat variables, And based on what user pass, the price is changed.
Sorry..if question is not clear..
+Sagar Thapa Check this out stijndewitt.wordpress.com/2014/01/26/enums-in-javascript/
Thanks Derek, everyday is a school day!
+Daryl Jewkes You're very welcome :)
Great video Derek ;)
I saw your plans for the next few videos, can't wait! Please consider a Meteor tutorial...Cheers!!!
+ronP __ Thank you :) Meteor is on the list
+Derek Banas Can't wait! BTW Thank you for this service you provide us all!
cheers!!!
ron;)
hello I just want to say thanks alot for all these videos, for the longest ive been terrified by javascript and other surrounding languages, with these videos and codeacdemy and w3s , im ony my way to updating my skill set to become more marketable web developer!!!! thanks!!!!!!!!
+Benny Chasin Thank you for taking the time to say that :) You're very welcome.
Doing Gods work..Bless you ma man
Thanks for the nice tutorial! Very helpful!
You're very welcome :)
Nice to see something on OO JS, you don't see these design patterns taught too much in JS, mostly in mentioned in Java, C# etc.
Not sure how much overall interest there is currently, but there's very few good tutorials for Ember/Ember Cli/Ember data, If you have any experience with it. Shame as it's a very nice framework, took me ages to figure it out without good tutorials though and I've still not got the Data part integrating with APIs as I'd like.
+Paul J Kimberlee Thank you :) Yes Ember is quite complex. I'll need to include tons of diagrams in the video just to help people keep everything straight. I'll see what i can come up with.
+Derek Banas Cool! yeah it's not so straightforward to conceptualize at first, something like your Rails tutorial would be really helpful to people who are interested in it. The only resource I've seen for the CLI is a $30 ebook, which is a lot if people just want to check out the framework to see if it's right for them.
+Derek Banas Whooah! Yet another great tutorial! Have you considered doing a Learn-Groovy-in-one-video tutorial? I know you did one about Scala recently - but considering a growing interests in alternative JVM languages, and the rumors about Oracle dropping interest in Java platform, Groovy might by an interesting topic to talk about as well.
+mrKitke Thank you :) Yes Groovy is on my list
Derek Banas Great, can't wait to watch it :-)
Thanks man, awesome tutorial as always
the problem is that i watch the video, next day i forget everything because i find myself too lazy to pratice :(.
if we did not use the stuff we learned in a project, we will not be able to learn them easily, that is why people take years to master a language.
however, your videos are much more helpful when you are doing a project.
+Omran AbazId Your welcome :) Don't worry I'll be making some JavaScript games very soon. You'll have time to practice.
Awesome tutorials bro, thank you!
Thank you :)
EXCELLENT turorial!
Thank you :)
Very nice tutorial... Thanks a lot Derek :)
Thank you :)