圖片來源: 

Mozilla

用來規範JavaScript(ECMAScript)的標準ECMA-262,其實作以及制定的工作由TC39(技術委員會,Technical Committee)負責,成員來自各大科技公司,像是Google、Mozilla、微軟以及Apple等等,由於ECMA-262的規格影響瀏覽器等前端平臺甚鉅,因此ECMA-262的標準制定充滿角力競爭,從過去ES3到ES6制定的過程可以窺探一二。

ECMAScript規範的影響相當廣泛

ECMAScript的制定影響的層面很廣,在語言方面不只是JavaScript會改變,所有參考ECMA-262標準的TypeScript以及CoffeeScript等新興語言,或是前端瀏覽器以及後端框架,如Node.js都會受到影響。Mozilla作為領導ECMA-262標準的一員,許多產品都深度應用JavaScript,其技術長David Bryant表示,TC39的成員背景擁有諸多開發語言設計的經驗,主導ECMAScript的發展走向,Mozilla作為初期ES6制定參與者,仍希望有更多的會員加入,讓整個標準的制定流程更加透明開放。

ECMA-262標準以支援前端開發為第一目標

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


Advertisement

更多 iThome相關內容