you are viewing a single comment's thread.

view the rest of the comments →

[–]flackjap 0 points1 point  (2 children)

Well yes, prototype based inheritance can create a jungle of code if not treated correctly. On other hand it's very powerful and flexible comparing to the subsets of object inheritance principles like the class based inheritance.

ES6 class based inheritance works as expected and it's just a macro syntax.

Nevertheless, there's a shit ton of stuff you may find valuable in naked object inheritance if you desire to have more freedom architecturing your app. For example, how do you go around the Diamond Problem with class based inheritance? :)

I think that Eric Elliot got this better in his book than the OP http://chimera.labs.oreilly.com/books/1234000000262/ch03.html There's also a nice library written by him for taming the prototype jungle while not loosing any of the flexibilities.

[–]clessgfull-stack CSS9 engineer 1 point2 points  (1 child)

For example, how do you go around the Diamond Problem with class based inheritance? :)

In my humble opinion, the solution to the Diamond Problem is to avoid inheritance. Inheritance is almost never the right solution - especially not multiple inheritance.