在前一篇文章單獨介紹了 ES6 的 Class 功能,主要是他同時解決了許多前端知名問題,像是原形鏈、閉圈等等,然而相信對於這邊沒有了解過的讀者會有疑問,ES6 是什麼,那麼有 ES7 或是 ES5 嗎,這邊就來一起介紹吧。
ECMA 國際組織為一個全球性的非營利組織,致力於制定和推廣信息和通信技術,使命為通過制定標準來促進信息技術和電信領域的互操作性和兼容性。
在最一開始的時候,各瀏覽器百家爭鳴,並且每一家都會支援不同的腳本語言,像是一開始的 VBScript 之於 IE,LiveScript(後來的 JavaScript) 之於 Netscape,導致會讓網頁開發者的兼容性考量成本提高許多,因此 ECMA 組織啟動了 ECMAScript 標準化工作,並且 JavaScript 成為了網頁開發的標準語言,成為了最大贏家。
ECMA 內有技術委員會 TC39,他們是來自於各相關行業的公司與組織,像是 Google、Apple、JavaScript 引擎開發者等等,在最一開始時的 ES1(1997)、ES2(1998) 和 ES3(1999) 時皆由此團隊內部協商來制定標準,然而在 ES4(未發布) 時因為有許多內部分歧和複雜度問題因此此版本未發布,並且沿路到 2009 年才推出新一代的 ECMAScript5,此時已經開始陸續的接收些外部社群的意見,但還沒有一個完善的通道,之後到了 ES6(2015) 時推出了明確的提案階段,並且鼓勵社群廣泛參與,並且在2014 年建立了屬於 TC39 的 GitHub Store,在 ES6 之後也確立了 ECMAScript 一年推行一次的慣例。
時間來到了 2016 年,在推出了 ES7 之後 TC39 更加廣泛的使用 GitHub 來與社群開發者互動,並且開發者開始可以透過提交 PR、發 issue 等行為參與提案,讓生態更加的活躍以及熱情。