 Okay, so going up from the previous mode of like explaining people's projects and stuff like that, I go back to something a bit more theoretical from a very simple explanation on JavaScript inheritance. So basically to me it's like the journey to classes. I figured what's the best way to learn something than to like share it with 50 people and then get all the 50 you are wrong with your rights. So here I am. So it's a simple journey today. So basically if I just take two very broad categories of inheritance, we have the classical inheritance such as in Java and then we have the prototypical inheritance such as in JavaScript. So in classical for instance this would be like you making a cut maker like a plastic, like a metal cutter for little paper men. You make the cutter so that metal cutter thing would be like a class and then each time you want to make like a little paper man cut. And then for me what I understand from prototypical inheritance, this would be more like cutting paper man and then you take this paper man, put it on paper and cut it again and then you can alter it and cut it again. And so basically instances where you can inherit from other instances, so objects from objects. And so here's the found part that I found. I think it was like in my second or third week of living JavaScript, it was the prototype chain. So essentially almost everything in JavaScript is an object and all of them contain properties which you consider like that or like that. Each object has an internal property called prototype which is like this and it's linked to a previous object. So this is the prototype chain and visually it looks something like this. So don't worry it doesn't go on forever. Essentially there will be the end of the chain. And so going back to the previous slide, in the two types of inheritance we have classical and prototypical. I always say prototype. I can't remember. There's like two different terms for it. And then essentially what my takeaway is like JavaScript does not have classes but we try to program as though it does. And so I say hello ES6 classes which is what I'm using. So if I take a very simple diagram we have inheritance. Like I mentioned we have classical like in Java. We don't want that. And then we have prototyped like in JavaScript. And then two examples the prototyped pattern and the constructor pattern. So this will be the constructor pattern and this is the prototyped pattern. So this is essentially how it looks like. I'm sure you're familiar with constructors and then like the old school one. And then essentially this example shows that like both of them are pretty much identical in terms of memory usage, things like that. The ability to create like the kids is also pretty similar. So no much difference. And this is the fun part which is the before and the after. So there is like the constructor. And then how many of you have switched to ES5 2015 already? And how many of you are using classes in ES 2015? Okay so I still have something to talk about because some people haven't. So essentially this is like the constructor. I'm sorry I'm a bit short. This top bit. This is the properties. And then you would do like a, for example, like book.prototype.flip page. And then this is how you do the method. And then you instantiate it like that. You put it in and then like you can flip page now. Whereas in 2015, in 2015 we can put it all together and we can actually call it class. But in ES 2015 essentially this is like synthetic sugar. So you're still doing the same thing. You're still essentially like creating objects and dealing with inheritance. But it's just like a nicer class thinking kind of manner of doing it. And so over here you create the class book. I will put like constructor. So it's still constructor but in nicer syntax. You pass in your arguments. I put in default sometimes. My example is just making books and then your properties. The method would be like flipping pages. And then I create another example class called ebook which extends from book. And over here the fun thing is besides making like defaults you can do things like super. So super all this stuff. Title, year, total pages, medium. Basically you just take it from here and ignore this line. And then I wanted to include another method for example, compatible devices. And then for the method you could super the flip page. I could super the previous method and then just edit like an alert. So this shows that you can very easily extend from this one. Let's do in a JavaScript manner. And then you instantiate them in the same manner. Like book, book, ebook. And then I can pass in more arguments that come from here. So that's essentially the end of it. Hope you enjoyed it. Any questions? Any questions you can ask Sab. Thank you.