对于并不了解 ECMAScript历史的开发者来说,可能会对于为什么没有发布ECMA-262 第四版而感到疑惑。事实上,在ECMA-262 第五版发布之前,确实曾经存在ECMA-262 的第四版,但它最后并没有成为ECMA委员会发布的标准,而仅仅停留在了提案的阶段。
在ECMA-262 第四版的提案中,包含了大量对于ECMAScript的改良甚至改变。
在ECMAScript中实现静态类型(Strong Type)变量,向众多原生强类型的语言学习,增强ECMAScript在工程化上的可靠性。
大量的新语句和新数据结构。
真正的类系统和经典继承。
然而该提案正受人瞩目的时候,却被ECMA委员会驳回,理由是其更新跨度过大,在短时间内难以被接受。于是,ECMA-262 第四版就此遭到抛弃。同时也有另一种说法认为ES4 流产的一大诱因是当时的TC39-TG1 小组内部合作成员之间的意见不一。当然这些都是一些历史问题,在我们学习和研究ES2015 甚至ES2016 的今天,我想再去研究这些历史包袱也已经没有什么意义了。
不过幸运的是,TC-39 并没有就此全盘抛弃该提案中的成果,其中有不少十分有意思和实用的特性被保留了下来,在如今的 ES2015 中得到了实现并成为了标准。