Core features:
Async functionality is reasonably called a major improvement and arouses much interest among JavaScript developers. Understandably, that it is one of the ways to catch up with other programming languages, like C# that has pioneered asynchronous engineering. Moreover, according to Anders Hejlsberg, the lead C# architect and core developer for TypeScript transpiler for JS, since async programming in JS is in the order of C#'s method.
This functionality will enhance user experience, enable transpilation avoiding, boost the development process and make your JavaScript apps more understandable. You won't get blocked with long-running and complex operations and waste time waiting for the result.
Shared memory and atomics or Shared Array Buffers serve as a low-level building block for top-level concurrency abstractions. They enable developers to share the bytes of SharedArrayBuffer object between several workers and the core thread. Such approach allows you to share data faster, as well as improve and streamline coordination between workers.
Other new options:
- Object.values and Object.entries
- String padding with padStart and padEnd
- Object.getOwnPropertyDescriptors
- Trailing commas in function parameter lists and calls
The wrap-up
That is more or less the most interesting features for the ECMAScript 2017 and it is not finalized yet. There are more features that are worth your attention because so far they are in stage 3 and can be included in ES8 as well:
- SIMD.JS – SIMD APIs
- Function.prototype.toString revisiou
- Lifting Template Literal Restriction
- Rest/Spread Properties
- Asynchronous Iteration
- global
- import()