ES 五个阶段
1ECMAScript功能的TC39過程
本章解釋了所謂TC39工藝,它控制ECMAScript功能的設計方式,從ECMAScript 2016(ES7)開始。
 1.1誰設計ECMAScript?
答:TC39(技術委員會39)。
TC39型是開發JavaScript的委員會。它的成員是公司(除其他外,所有主要的瀏覽器供應商)。TC39定期開會其會議由成員派來的代表和受邀專家出席。會議記錄是在線可用讓你了解TC39是如何工作的。
偶爾(甚至在本書中),你會看到這個詞TC39成員指的是人類。那么它的意思是:TC39成員公司派出的代表。
值得注意的是,TC39是以協商一致的方式運作的:決策要求絕大多數人同意,沒有人強烈反對,可以否決。對于許多成員來說,協議導致了真正的義務(他們必須實現特性等)。
 1.2ECMAScript是如何設計的?
 1.2.1條問題:ECMAScript 2015(ES6)版本太大
ECMAScript的最新版本ES6是一個大型的版本,它在ES5之后幾乎6年(2009年12月與2015年6月)被標準化。兩個版本之間的時間間隔有兩個主要問題:
比發行版更早準備好的特性必須等到發行版完成。 需要很長時間才能完成的特性面臨著打包的壓力,因為將它們推遲到下一個版本意味著要等待很長時間。這些特性也可能延遲發布。因此,從EcmaScript2016(ES7)開始,發布將更加頻繁,結果會更小。每年將有一個版本,它將包含所有的功能,在每年的最后期限完成。
 1.2.2條解決方案:TC39工藝
ECMAScript特性的每個建議都要經過以下步驟成熟階段,從階段0開始。從一個階段到下一個階段的進展必須得到TC39的批準。
 1.2.2.1第0階段:斯特勞曼
這是怎么一回事?一種提交演化ECMAScript想法的自由形式方式。提交資料必須來自TC39會員或非會員已注冊為TC39貢獻者.
需要什么?該文件必須在TC39會議上進行審查(來源)然后添加到包含第0階段建議的頁面.
 1.2.2.2第一階段:提案
這是怎么一回事?對該功能的正式提議。
需要什么?所謂的冠軍必須確定誰對提案負責。冠軍或共同冠軍必須是TC39的成員(來源). 提案所解決的問題必須用散文來描述。解決方案必須通過示例、API以及語義和算法的討論來描述。最后,必須確定提案的潛在障礙,例如與其他功能的互動和實施方面的挑戰。實施方面,需要polyfill和演示。
下一步是什么?通過接受第1階段的提案,TC39表示愿意審查、討論并為提案作出貢獻。今后,該提案預計會有重大變化。
 1.2.2.3第二階段:草稿
這是怎么一回事?規范中的第一個版本。在這一點上,該特性最終可能包含在標準中。
需要什么?提案現在還必須對特性的語法和語義有一個正式的描述(使用ECMAScript規范的形式語言)。描述應盡可能完整,但可以包含TODO和占位符。這個特性需要兩個實驗性的實現,但是其中一個可以在transpiler中,比如Babel。
下一步是什么?從現在開始,預計只會有增量變化。
 1.2.2.4條第三階段:候選人
這是怎么一回事?該提案已基本完成,現在需要來自實現和用戶的反饋,以進一步推進。
需要什么?規范文本必須完整。指定的審閱者(由TC39指定,而不是由champion指定)和ECMAScript規范編輯器必須在規范文本上簽名。必須至少有兩個符合規范的實現(默認情況下不必啟用)。
下一步是什么?從此以后,只應對實現及其使用引起的關鍵問題進行更改。
 1.2.2.5第4階段完成
這是怎么一回事?建議已準備好納入標準。
需要什么?在提案進入這一階段之前,需要以下幾點:
測試262驗收測試(大致是用JavaScript編寫的語言特性的單元測試)。 兩個通過測試的規范兼容的發布實現。 具有豐富的實施實踐經驗。 ECMAScript規范編輯器必須在規范文本上簽名。下一步是什么?該建議將盡快包含在ECMAScript規范中。當規范作為一個標準通過每年的批準時,提案也會作為其中的一部分得到批準。
 1.3不要稱它們為ECMAScript 20xx特性
一旦達到標準,你就可以看到它的一個階段,你就可以看到它的功能了。那么它很可能會包含在下一個ECMAScript版本中,但也不是百分之百確定(可能需要更長的時間)。因此,你不能再稱提案為“ES7功能”或“ES2016功能”。因此,我最喜歡的兩種撰寫文章和博客文章標題的方式是:
“ECMAScript建議:foo特性”。這篇文章的開頭提到了提案的階段。 “ES.stage2:foo功能”如果一個建議處于第4階段,我可以將其稱為ES20xx特性,但最安全的做法是等到spec編輯器確認它將包含在哪個版本中。對象。觀察是ECMAScript提案的一個例子,該提案一直進行到第2階段,但最終被撤回。
總結
 
                            
                        - 上一篇: 运营私域流量转化没效果为什么?
- 下一篇: 今日热点如何卸载
