ES6 is ECMAScript 6 (ECMAScript 2015)
ECMAScript is a scripting language which forms the language base for JavaScript, JScript, and ActionScript
ES6 is not widely supported in modern browsers to need to use a transpiler (like babel) to turn it into browser compatible.
ES6 has lots of new features:
- let and const keyword
- function returning multiple values
- default values for function arguments
- ... (spread) operator
- multiple line strings (a Python like feature)
- class keyword to define classes
- arrow => function
- promises (equivalent to Java futures)
- 'for of' loop
- yield keyword
- 0o and 0b literal to define octal
- Set/WeakSet, Map/WeakMap objects
- template literals
ES6 is mostly syntactic sugars! Lots of sugarcoating!