Is anyone able to provide a brief overview on the differences for the unenlightened here? It would be much appreciated. Thanks.
ES6 added new features to the language, such as block-scoping, constants, arrow functions, default parameters, string interpolation, new built-in methods, etc.
This site lists them and does comparisons.
Other things are added to make more sense in the code you write, like classes and interfaces.
Thanks very much for that @kevcomedia . Useful website.
A number of ES6 features have NO ES5 analog, and functionality cannot be written conveniently or (in practice) bug-free in ES5. Examples are: Proxies, Symbols, Maps, Sets. There are notational features such as destructuring, arrow functions and the keyword super where the functionality is in ES5 but the actual use is much more awkward in ES5 (particularly true for super). And this just touches the surface.
In principle, you can do anything with ES5. The issues tend to center around convenience, maintenance, ways-of-thinking and just the sheer amount of work needed to do something. Think of the difference between Python and C, or anything and assembler. After all, originally C++ compiled down into C.