Let's talk about object-orientation and inheritance in JavaScript.
The good news is that it's actually quite simple, but the bad news is that it works completely different than object-orientation in languages like C++, Java, Ruby, Python or PHP, making it not-quite-so simple to understand.
But fear not, we are going to take it step by step.