JavaScript标准在官方上被称为“ECMAScript”(缩写为“ES”),而且直到最近才刚刚完全采用顺序数字来标记版本(例如,“5”代表“第五版”)。
最早的版本,ES1和ES2,并不广为人知也没有大范围地被实现。ES3是JavaScript第一次广泛传播的基准线,并且构成了像IE6-8和更早的Android 2.x移动浏览器的JavaScript标准。由于一些超出我们讨论范围的政治原因,命运多舛的ES4从未问世。
在2009年,ES5正式定稿(在2011年出现了ES5.1),它在浏览器的现代革新和爆发性增长(比如Firefox,Chrome,Opera,Safari,和其他许多)中广泛传播,并作为JS标准稳定下来。
预计下一个版本的JS(从2013年到2014年和之后的2015年中的内容),在人们的讨论中显然地经常被称为ES6。
然而,在ES6规范的晚些时候,有建议提及未来的版本号也许会切换到编年制,比如用ES2016(也叫ES7)来指代在2016年末之前被定稿的任何版本。有些人对此持否定意见,但是相对于后来的ES2015来说,ES6将很可能继续维持它占统治地位的影响力。可是,ES2016事实上可能标志了新的编年制。
还可以看到,JS进化的频度即使与一年一度的定版相比都要快得多。只要一个想法开始标准化讨论的进程,浏览器就开始为这种特性建造原型,而且早期的采用者就开始在代码中进行实验。
通常在一个特性被盖上官方承认的印章以前,由于这些早期的引擎/工具的原型它实际上已经被标准化了。所以也可以认为未来的JS版本将是一个特性一个特性的更新,而非一组主要特性的随意集合的更新(就像现在),也不是一年一年的更新(就像可能将变成的那样)。
简而言之,版本号不再那么重要了,JavaScript开始变得更像一个常青的,活的标准。应对它的最佳方法是,举例来说,不再将你的代码库认为是“基于ES6”的,而是考虑它支持的一个个特性。