That’s just horrible engineering. It’s not the fault of inheritance when it is abused. This whole bashing on inheritance is getting nuts. Is-a vs. has-a, it’s that simple. If you are working with a good SDK, this is easily represented in the structure. The real problem is that many JS programmers have weak OOAD skills and difficulty in making a cohesive abstraction of a business domain. What’s really funny is all these arguments happened 20 years ago as java became popular. Man I am old.