Well for one &#x27;class Foo extends Bar&#x27; will work without any further code to make inheritance work in the way you&#x27;d expect, including use of super() etc. Whereas your second example is using non-trivial framework code, that some framework author has to write. See Backbone&#x27;s extend() for a clear example of what is required [0]. That&#x27;s work that every framework author is potentially going to implement differently, needlessly.<p>And the fact that almost every major framework has implemented something similar themselves is proof enough (for me at least) that the ES6 sugar is valuable. It has nothing to do with Java, it&#x27;s simply a useful pattern that everybody was already using.<p>[0] <a href="http:&#x2F;&#x2F;backbonejs.org&#x2F;docs&#x2F;backbone.html#section-247" rel="nofollow">http:&#x2F;&#x2F;backbonejs.org&#x2F;docs&#x2F;backbone.html#section-247</a>