Adam Klein on JavaScript on V8: ES6 features, Async/Await and Modules

At the BlinkOn 2016 event held in Munich office of Google on June 16th and 17th 2016 Adam Klein, a Software Engineer working on the V8 JavaScript engine gave some insight on the future of the project. V8 is a significant project as it is powering both the Chrome browser as well as the Node.js server environment.

Adam starts the talks with going through the basics of how widespread JavaScript is now and how the new versions of JavaScript are moving forward in many different different environments with the help of transpiling as well as accelerated runtime engine improvements.

This is followed by how ECMAScript 2015 / ES6 is affecting the JavaScript development world. Beginning with how ES6 was a great leap with a good recap of some features such as Classes, Sets, Maps, Arrow functions and other improvements to iterations. Next Adam discusses insight into the future of JavaScript on Chrome and V8.

Async/await is sane syntax for developing asynchronous applications. It's not in the specification for ES2017 yet, but it is ready for implementation feedback. It's included in Chakra engine from Microsoft and V8 will ship with async/await hopefully in Q3.

JavaScript modules were partly included in ES6, but the loading mechanism was not. But now the specification for loading ES6 modules within the browser is done. You will in the future use JavaScript modules natively from the browser with the following syntax:

<script type="module">

The talk is closed by talking about some features such as Class fields, public and private methods that will make Java developers, etc. feel more comfortable moving to the JavaScript in future. Async iteration is also mentioned, but Adam would recommend seeing all the proposals on the TC39 table: https://github.com/tc39/proposals

The full talk is embedded below and you can also find the slides of the talk online to help follow: