天天看点

Mozilla CTO:JavaScript 未來將年年小改版

用来规范javascript(ecmascript)的标准ecma-262,其实作以及制定的工作由tc39(技术委员会,technical committee)负责,成员来自各大科技公司,像是google、mozilla、微软以及apple等等,由于ecma-262的规格影响浏览器等前端平台甚钜,因此ecma-262的标准制定充满角力竞争,从过去es3到es6制定的过程可以窥探一二。

ecmascript的制定影响的层面很广,在语言方面不只是javascript会改变,所有参考ecma-262标准的typescript以及coffeescript等新兴语言,或是前端浏览器以及后端框架,如node.js都会受到影响。mozilla作为领导ecma-262标准的一员,许多产品都深度应用javascript,其技术长david bryant表示,tc39的成员背景拥有诸多开发语言设计的经验,主导ecmascript的发展走向,mozilla作为初期es6制定参与者,仍希望有更多的会员加入,让整个标准的制定流程更加透明开放。

david bryant说,tc39的理念一直是让ecmascript独立于各家平台,然而前端仍是最主要的应用范围,因此会将前端的需求摆在最优先的顺位,但是在node.js这样的javascript后端开发框架出现后,javascript后端的应用热门了起来。

因此tc39在标准的制定上也尽力地避免需求与前端之外的平台相抵触,像是es6在设计模组(module)新功能时,便经过仔细的确认以符合node.js的需求。

module是mozilla强力拥护与支持的新功能之一,另外,类别(class)、解构赋值(destructuring)、词法作用域(lexical block scoping)、产生器(generator)以及箭头函数(arrow function)都是mozilla主推的新功能。

市面上有许多浏览器还未完全支援es6,而许多开发者则使用转译工具,将es6降转成es5语法,让大部分使用者的浏览器不会因为新语法而发生执行错误的状况。

es6虽然在去年已制定完新规格,但有许多功能还在进行当中,david bryant说,像是simd向量运算以及可以让应用程式互相传递资料的共享阵列缓冲区(shared array buffers)会在接下的版本加入。

2015年6月ecmascript第六版出炉,距离es5已有10年的时间,而david bryant表示,es6制定花了很长的时间,甚至不少功能从1999年就开始争论不休,而tc39的共识便是要缩短每个版本的发布时间,以更快更小的更新取代经长时间开发的巨幅改变版本释出。他提到,es6的官方版本名称应为ecmascript 2015,明年也会有增加新功能以及臭虫修正的ecmascript 2016释出,未来也都会依照这样的做法。

继续阅读