你知道 ES6~ES12等叫法是怎么来的吗?
前言
作为一名前端开发,学习 JavaScript 自是天经地义的事,但是,JavaScript 的发展历史是怎样的,恐怕有相当一部分人都不太了解。
我们常常听别人说并且自己也会说 ES6、ES7……ES12,那么,这些叫法到底是怎么来的?
今天,我们就来总结一下这些有关 JavaScript 的发展历程。
通过阅读本文,你将了解以下知识:
- ECMA 是什么
- ECMAScript 是什么
- JavaScript 的由来
- ES5 ~ ES12 的意义
关于 ECMA
ECMA 全称为 European Computer Manufacturers Association
,翻译过来就是“欧洲计算机制造商协会”,是一个成立于 1961 年的、极具影响力的国际组织。
但是,因为计算机的国际化,ECMA 的标准牵涉到很多其他国家,因此于 1994 年改名为 Ecma国际
,以表明其国际性。
Ecma国际
专门制定信息和通信系统的标准和报告,以促进和规范信息通信技术与消费电子产品。
迄今为止,Ecma国际
主动贡献了超过 400 个标准和 100 个技术报告,其中大约三分之二以上被定为国际标准,在国际上得到了广泛使用。
关于 JavaScript
JavaScript 在 1995 年由 Netscape (网景)公司的Brendan Eich(布兰登·艾奇),在网景导航者浏览器上首次设计实现而成,最初将其脚本语言命名为 LiveScript。
因为Netscape 与 Sun(升阳)合作,为了营销考虑,Netscape 与 Sun 微系统达成协议,希望它外观看起来像 Java(毕竟当时 Java 属于当红炸子鸡),因此取名为 JavaScript,但实际上它的语法风格与 Self 及 Scheme 较为接近。
JavaScript 发展之初,微软也推出了 JScript(主要用于 IE 浏览器)来迎战 JavaScript,当时还有 Adobe 的 ActionScript。为了统一标准,实现互用,1997年,在 Ecma国际 的协调下,由 Netscape、Sun、微软、Borland 组成的工作组确定统一标准——ECMA-262(ISO/IEC 16262),该标准定义了叫做ECMAScript 的全新脚本语言。
完整的 JavaScript 实现包含三个部分:
- ECMAScript
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
关于 ECMAScript
ECMAScript 是一种由 Ecma国际
在 1997 年通过 ECMA-262(ISO/IEC 16262)
标准化的脚本程序设计语言。它描述了 JavaScript的语法和基本对象,是 JavaScript 的标准。
ECMAScript 实际上是一种脚本在语法和语义上的标准,JavaScript,JScript 和 ActionScript 中声明变量,操作数组等语法完全一样,因为它们都是 ECMAScript。但是在操作浏览器对象等方面又有各自独特的方法,这些都是各自语言的扩展。
自 2015 年以来,ECMAScript 的发展及其版本如下所示:
通过这图,大家应该知道平常所说的 ES6 之类的是怎么来的了吧。
我们一般将 2015 年之前的版本统称为 ES5,不会详细去区分到底是 1~5 中的哪个。
符合ECMA-262 标准的实现有:
- Microsoft 公司的 JScript。
- Mozilla 的 JavaScript-C(C 语言实现),现名 SpiderMonkey。
- Mozilla 的 Rhino(Java 实现)。
- Digital Mars 公司的 DMDScript。
- Google 公司的 V8。
- WebKit。
总结
总结一下上面的内容:
- JavaScript 最初是由网景公司的布兰登·艾奇所实现。
- JavaScript 是甲骨文公司的注册商标。Ecma国际以 JavaScript 为基础制定了 ECMAScript 标准。
- Ecma国际专门制定信息和通信系统的标准和报告,ECMAScript 只是它所制定标准中的一个。
- ESCMScript 是 JavaScript 的标准,描述了 JavaScript 的语法和基本对象。
- 完整的 JavaScript 实现包含三个部分:ECMAScript、DOM 和 BOM。
~
~本文完,感谢阅读!
~
学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!
大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!
你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!
知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。