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)
参考资料
有用资源