这次来说说ECMAScript、JavaScript、ECMA-262之间的家庭关系
ECMAScript
简称ES,我们常说的ES6(=ECMAScript2015),它是可怜的Javascript语言被标准化的一部分,因此,JavaScript每做一件事就要问ECMAScript是不是对的。
ECMA是一个为科学技术制定标准的组织。ECMA-262是一个名叫ECMA的组织发布的标准,它为ECMAScript提供核心语言功能,比如:语法、关键字、保留字和操作符等,这个标准之下呢,又定义了ECMAScript。
而ECMAScript规定了脚本语言所需的所有基本语法,操作符,数据类型以及完成基本的计算任务所必需的对象,但是没有对取得输入和产生输出的机制作出规定。
三者之间的关系大概就是:
ECMA-262⟶ECMAScript⟶JavaScript
尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)