天天看點

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釋出,未來也都會依照這樣的做法。

繼續閱讀