It can be quite a chore wrapping your head around some of the new-fangled concepts inherent to JavaScript. But the mental struggle is more often than not more than worth it.
The essence of understanding and becoming enchanted by JavaScript's wow factor is well illustrated by the following fragment. Seemingly short and trivial, but it nonetheless carries quite an amazing punch.
Fortunately, it is easy to create an operator that implements true prototypal inheritance. The object function untangles JavaScript's constructor pattern, achieving true prototypal inheritance. It takes an old object as a parameter and returns an empty new object that inherits from the old one.
Finally being able to ride the gentle quantum leap to higher levels of awareness gives one a good feeling. There's still hope for this little brain of mine, for it is being kept fit and in good form with abstract concepts and constant mental gyrations.
function object(o) { function F() {} F.prototype = o; return new F(); }
Make sure that you understand this perfectly before daring to proceed further in life as a so-called professional software engineer.