Throughout the module (and your journey to Google enlightenment while working on IdeaBox2.0) you may notice a few different ways that JavaScript code is being written.
That might have something to do with something called ES6
and ES5
- What is
ES6
? - What is Transpilation and how does it relate to
ES6
? - Looking at the ES6 Features link below, discuss one update from
ES5
and if it seems useful/superfluous,
What is ES6?
ES6 is the newest version of ECMAScript, which is the definition upon which JavaScript is based. It's the first update to the language since ES5 was standardized, which seems like a big deal. It includes some features which seem to help the language keep pace with other languages (e.g., string interpolation, subclassing built-ins, data structures, namespacing/modules, symbols, etc.
Transpilation is a process that transforms code from one language into another where both are at similar levels of abstraction (unlike compiling, which usually is generating low level code from higher level code). It's relevant to ES6 and other new libraries because not all browsers support newer libraries, but transpiling generates JS out of things like CoffeeScript or ES6.
Update from ES6:
ES6 seems to have a large focus on providing support for asynchronous JS. Promises and generators (explicitly for promises and for generators, by application) seem to be a reaction to the increasing interest in multiple-threaded systems. It seems necessary, along with the other updates that I mentioned in my first answer that serve to let JS keep pace with expectations developers have from other languages.