Part of a planned annual release cadence, the upcoming ECMAScript 2016 specification features an
Array.Prototype.includes method, to determine if an array includes an element, and exponentiation operator.
"The two features -- yes, only two -- themselves are minor, but there were also a few clean-ups and bug fixes. Nothing very visible," said blogger Axel Rauschmeyer, who has written a book on ECMAScript 2015, the most recent release of specification.
Ratification of the 2016 specification by ECMA is expected in June. "It's good that ES2016 is so small; we needed time to catch our breath after ES6/ES2015," Rauschmeyer said. "It's also a sign that the new process is working -- we'll get smaller, more incremental releases from now on."
It's still a little early to know what exactly will be in the follow-up ECMAScript 2017 specification, planned for next year. "Since features land when they're ready and editions of the standard are released regardless of the state of the features, it's a little too soon to predict what features will be included in the 2017 edition of the specification," Herman said. "Of course, what matters most to Web developers is when new features will be available for them to use. With the new annual releases, accepted proposals can always be finalized within less than a year, which is a great improvement."
Browsers and transpilers may implement features far in advance of inclusion in the actual specification. "So for Web developers, the most important thing to track is the progress of the feature proposals themselves," Herman said.
The list of proposed features for possible inclusion in ECMAScript next year includes string padding, to lessen the pain of working with strings; Single Instruction Multiple Data (SIMD) capabilities; and asynchronous iterators, providing a generic data access protocol for asynchronous data sources.
Sometimes, a feature can get a thumbs-up for inclusion and then be cast aside. This happened with object.observe, for observation of changes to objects. It had been planned for inclusion this year but was withdrawn due to a change in the technical circumstances around it.