ECMAScript 與 JavaScript
- ECMAScript 是一套腳本語言的規範,內部編號 ECMA-262
- 該規範由 Ecma(European Computer Manufacturers Association) 制定
- 規範保證開發者按照規範編寫的代碼能在大部分瀏覽器中正常工做,由於這些瀏覽器約定去遵照規範
- JavaScript,JScript 和 ActionScript 都是基於該規範的實現
- 閱讀 ECMAScript 規範,你知道如何創造一個腳本語言
- 閱讀 JavaScript 文檔,你知道如何使用一個腳本語言
TC39
TC39(Technical Committee 39) 是 ECMAScript 規範的制定者javascript
規範制定的過程html
- Stage 0: strawman
該階段是一個開放提交階段,任何在TC39註冊過的貢獻都或TC39成員均可以進行提交。提交內容能夠是一個提議、想法、初步描述java
-
Stage 1: proposalgit
該階段是對所提交新特性的正式建議。在這個階段需具有如下條件:es6
- TC39指定一名成員做爲Champion
- TC39審閱經過
- 有實現的 Demo 或者 Polyfill
- 初步編寫標準,包括:問題描述、解決方案示例、語法語義API、關鍵的算法及抽象、實如今的複雜度等
-
Stage 2: draftgithub
該階段是會出現標準中的第一個版本。在這個階段必需要具有如下條件:算法
- 更規範化語法特性和語意的說明,並使用ECMAScript標準的正式語言描述該特性的語法、語義、API
- 該特性應該有兩個實驗性的實現,其中一個能夠基於Babel等轉譯器實現
-
Stage 3: candidate瀏覽器
該階段的提議已接近完成,只須要獲得提議實現方的反饋,並由用戶來進一步推進。在這個階段應具有如下條件:ide
- 編寫Test 262測試例,且至少2個用例經過測試
- TC39指定的審稿人審覈經過
- 開發者的足夠承認
-
Stage 4: finished測試
該階段的會被包括到標準之中。在這個階段應具有如下條件:
- Test 262驗收測試經過
- 兩個符合規範的實現經過
- TC39審覈經過
- 開發者的支持和承認
版本命令規則使用 ECMAScript+年份 的形式
JavaScript 引擎
執行 JavaScript 代碼的程序
- V8 in Chrome
- SpiderMonkey in Firefox
- Chakra in Edge
引擎決定了代碼執行的效率
JavaScript runtime
不一樣的運行環境提供了不一樣的 API,供 JavaScript 使用
W3C
W3C(World Wide Web Consortium) 是制定萬維網標準的組織
這些標準包括 CSS、DOM、HTML 等等
W3C制定標準的過程
- Working draft / WD / 工做草案
- Candidate recommendation / CR / 候選推薦規範
- Proposed recommendation / PR / 提名推薦規範
- W3C recommendation / REC / 正式推薦規範
WHATWG
WHATWG(Web Hypertext Application Technology Working Group) 是另外一個制定 HTML 及其相關技術標準的組織
WHATWG 制定的標準稱爲 "HTML Living Standard",W3C 致力於發佈一個「定稿」的 HTML5 標準,而 WHATWG 則傾向於讓標準不斷髮展,僅發佈 HTML 的當前實時版本(Living Standard)
參考資料
有用資源