This is a really interesting video from YouTube that shows how to implement some basic concepts of OOP in JavaScript. The key concept to grasp when dealing with OOP in JavaScript and, more generally, with design patterns and coding practices borrowed from other languages is to clear your mind, forgetting all the concepts you have learned in other languages and try to get closer to the pure essence and nature of JavaScript, which is prototypical.