Keeping up with new features
Things haven’t been changing as fast since the ES6 release. The first 2 “annual releases” of the ECMAScript spec contained only a combined 8 features. but there are still a lot of new features working their way through the ECMAScript pipeline. If you want to get a quick overview of the features being considered for future releases, the best place to look is the TC39 proposals repo on Github. TC39 is the organization that guides the future of the ECMAScript spec. Proposals go through a 4 stage process, where stage 1 can best be understood as “ideas”, and stage 4 is “confirmed for the next ECMAScript release”. Nicolás Bevacqua put up a good post last week describing this process in depth, as well as giving a brief description of the more advanced proposals in the queue. If you’re interested in keeping up with new proposals but want somebody to walk you through them, I recommend subscribing to Axel Rauschmayer’s 2ality blog. In addition to writing the ES6 book mentioned above, he regularly writes blog posts highlighting new proposals with detailed explanations of the feature implementation and motivation.
Testing new features
Almost all of the higher stage proposals on the TC39 list have been implemented by Babel and you can try them out in the Babel REPL or by setting up a small project that loads in Babel.
Keeping up with the conversation
If you’re a twitter user, probably the easiest way to keep up with language evolution is to follow the people who are shaping and teaching the new language features. Some twitter follow recommendations:
- Yehuda Katz - TC39 member, Ember core developer
- Axel Rauschmayer - JS blogger and trainer
- Wes Bos - JS blogger and trainer
- Sebastian Markbåge - TC39 member, React core developer
- Henry Zhu - Babel maintainer
From the release of the ECMAScript 5 spec to the ES6/ECMAScript2015 spec, the language wasn’t exactly stable in practice because browser implementations didn’t always move quickly, and there were still many incompatibilities. But standard language syntax stayed stable for quite a while, which allowed the browser ecosystem to iron out some of those kinks prior to the adoption of ES6. ↩︎