|
|
|
|
|
by Benvie
4487 days ago
|
|
The ES6 spec draft is in its final stages of being revised. At this point there shouldn't be any substantial developer-facing changes except to a few final things that are being ironed out (mainly modules). The features that are being shipped in Firefox are ones that are stable in the draft spec and not expected to change. At the point of spec stability, these features need to be actually tested in broader distribution to help find any potential compatibility corner cases, similar to the issues found with Array.prototype.values [1]. [1] http://www.esdiscuss.org/topic/array-prototype-values-breaks... |
|
In practice vendors implement small chunks of emerging ideas, with flags to prevent the ideas reaching the stable versions being a relatively novel addition to the process made possible by rapid release schedules. The ideas become stable, ready or not, when enough people are using them that it's no longer possible to remove or amend the implementation without breaking sites and thereby annoying your user base.
I hear that the TC39 group that controls ECMAScript are planning to adjust to this reality by incrementally standardising features in the future so, perhaps, instead of "ES7" we will see specs for "ES foo", where "foo" is a specific feature. Ironically this is closer to the way that some non-web languages like Python (ignoring the 2/3 divide) work, with a series of enhancements that are adopted as they are ready, even though Python actually does have clear and meaningful versions.