ECMA委员会正在为下一个版本的JavaScript设计而努力,新版本将名为"Harmony"。大概到明年年底就会推出这个新版本,而这是JavaScript发展历史上最全面的一次提升。让我们先来看看JavaScrip的版本发展情况。
版本一览及浏览器支持情况
目前所有的主流 Web 浏览器都支持 ECMA-262 第三版,即JavaScript 1.5版本,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升级至JavaScript 2.0的临时代号。
Chrome和V8也致力于推动JavaScript的发展,而他们在一些发布会上也透露了关于支持JavaScript的一些新特性,一起来看看这些新特性到底包含哪些方面:
Lexical scoping(语法作用域)
现在"let"是新的"var"——传统的"var"是"let"和"const"的辅助声明。而后两者都是为了防止出现歧义而可定义的一种语法作用域。目前,在一个语法作用域中已允许定义函数声明。(注意:语法作用域只限于ES严格模式下。)
Collections(收藏)
有效的地图和集合将令生活更简单容易。任何value函数都能像一个键或对象元素那样被使用。(警示:迭代结束收藏未被指定。)
Weak maps(弱地图)
当一个关键字失效时,这种特殊的地图可以自动去掉这个关键字。即垃圾收集器将把不再使用的对象的内存回收掉。
Proxies(代理)
一个JavaScript对象或函数可以通过自定义去代理模拟你能想象到的任何方面的行为。对于普通功能来说这个强大的功能真是上了一个新层次,它可以用来实施各种先进的抽象和接口。
V8小组正在为"Harmony"引入更多的新功能特点而努力工作。