ECMAScript 和 JavaScript 的关系

一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?

要讲清楚这个问题,需要回顾历史。1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。

该标准从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有两个原因。

一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 本身也已经被 Netscape 公司注册为商标。

二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。

因此,ECMAScript 和 JavaScript 的关系是,前者是后者的规范,后者是前者的一种实现

(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。

 

也可以这么理解:

ECMA其实是一个标准化组织,同时也是一个标准,由这个组织诞生的一个标准。

JavaScript, JScript 和 ActionScript 都是标准ECMAScript的实现。

类似于HTML5也是标准,IE10、Chrome、FF都是这个标准的实现。

也许不久的将来,还是有另一个 XXXXScript实现了 ECMAScript的这个标准。

 

从面向对象的角度来说啊。我觉得还可以这么理解。

ECMAScript 可以理解为一个抽象类。而 JavaScript就是扩展了这个抽象类的子类的实例。因为JavaScript组成为:ECMAScript,DOM,BOM三部分。

目前,对ECMAScript标准的实现,使用的广泛的就属JavaScript。所以日常场合,这两个词是可以互换使用的。

 

参考:阮一峰的《ECMAScript入门》

你可能感兴趣的:(ES6,JavaScript,前端,ECMAScript,JavaScript,ECMA与JS的关系)