Did it <i>really</i> need class syntax?  I mean, there are a lot of us following functional patterns as much as possible, and I feel that I <i>rarely</i> need class syntax... I mean it&#x27;s kind of nice for a react component, but even then, not something that couldn&#x27;t easily be represented with static objects.<p>I rarely use classes, or for that matter constructor functions... a lot of the code is far easier to follow and reason that way.<p>As to block-scoped variables, understanding that variables were scoped to the function they are declared in wasn&#x27;t a huge hinderance, and is part of the reason why the new stuff runs slower... creating that scope has overhead.<p>I&#x27;ll add that destructured assignment and string templates are huge... taking generators the next step to async functions with await is <i>very</i> nice as well, not that co didn&#x27;t work.<p>Fat-arrow syntax cuts quite a bit of typing out with a default return.<p>Each piece is valuable to some, and collectively not everything is valuable to some...  Just because <i>you</i> don&#x27;t see the value, doesn&#x27;t mean that nobody does.<p>I, for example, will probably not use the WeakMap&#x2F;Map&#x2F;Symbol in practice...  But I see how someone can find those valuable additions.