你知道 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。

~

~本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!

你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!

你知道 ES6~ES12等叫法是怎么来的吗?的更多相关文章

  1. 简述ES5 ES6

    很久前的某一天,一位大神问我,你知道ES6相对于ES5有什么改进吗? 我一脸懵逼的反问,那个啥,啥是ES5.ES6啊. 不得不承认与大神之间的差距,回来深思了这个问题,结合以前的知识,算是有了点眉目. ...

  2. ES6还是ES2015?

    遇到了一个困惑   原来称作es6的现在突然变成es2015 了 原因是这个事ecma-262 的第六次变更,所有以前按照惯例称为es6. 但是为了更小版本频繁发布,现在 标准叫法是:  esmasc ...

  3. 听闰土大话前端之ES6是怎么来的

    前言 相信做前端的朋友没有不知道ECMAScript6的,都知晓ES6新增了不少新的特性,但是你知道ES6是怎么来的吗?今天就让闰土来带大家大话ES6的前世今生.当然了,这篇文章会以扫盲为主,科普为辅 ...

  4. 前端入门21-JavaScript的ES6新特性

    声明 本篇内容全部摘自阮一峰的:ECMAScript 6 入门 阮一峰的这本书,我个人觉得写得挺好的,不管是描述方面,还是例子,都讲得挺通俗易懂,每个新特性基本都还会跟 ES5 旧标准做比较,说明为什 ...

  5. ES6躬行记(1)——let和const

    古语云:“纸上得来终觉浅,绝知此事要躬行”.的确,不管看了多少本书,如果自己不实践,那么就很难领会其中的精髓.自己研读过许多ES6相关的书籍和资料,平时工作中也会用到,但在用到时经常需要上搜索引擎中查 ...

  6. [Web 前端 ] ES6 == ES 2015

    cp from : https://www.cnblogs.com/ricoliu/p/5996149.html 遇到了一个困惑   原来称作es6的现在突然变成es2015 了 原因是这个事ecma ...

  7. ES6在工作中会用到的核心知识点讲解

    一.var, let, const 谈到ES6,估计大家首先肯定会想到var,let,const 咱就先谈谈这三者的区别 var a = 3; { var a = 4; } console.log(a ...

  8. 简单说说ES6新特性

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了. 它的目标,是使得 JavaScript 语言可以用来编写复杂的大型 ...

  9. 《深入理解ES6》笔记——扩展对象的功能性(4)

    变量功能被加强了.函数功能被加强了,那么作为JavaScript中最普遍的对象,不加强对得起观众吗? 对象类别 在ES6中,对象分为下面几种叫法.(不需要知道概念) 1.普通对象 2.特异对象 3.标 ...

随机推荐

  1. kali操作系统添加中文输入法

    今天一通操作真心累啊.想安装搜狗输入法,百度搜索了好多 三步走:https://blog.csdn.net/qq_44110340/article/details/101382732 一顿操作猛如虎, ...

  2. SetupDi系列函数

    SetupDiClassGuidsFromName WINSETUPAPI BOOL SetupDiClassGuidsFromNameA( PCSTR ClassName, LPGUID Class ...

  3. Vue 2升级 Vue 3初探小细节

    前言 嗯,偶尔看看学习Vue 3技能啦,此前用过Vue 2做过一点东西,Vue 3已面世一段时间,于是乎,我来看看所遇到的问题是否在Vue 3中得到解决,首先,我们来讲讲一个例子在Vue 2中的实现, ...

  4. VSCode远程免密登录

    VSCode远程免密登录 本地生成密钥 生成命令如下: ssh-keygen -t rsa 会生成id_rsa, id_rsa.pub两个文件 公钥拷贝到服务器 将公钥id_rsa.pub拷贝到服务器 ...

  5. 自学linux——16.LAMP项目上线流程

    LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ①    下载nginx 网页下载https://nginx.org/en/downlo ...

  6. appium自动化测试(2)-工具(monitor、uiautomatorviewer)

    获取应用信息: from appium import webdriver desired_caps ={} desired_caps['platformName']='Android'# 哪种移动平台 ...

  7. 双非本科Android开发,如何逆袭拿到大厂 Offer?

    从2020年3月18日投出第一份暑期实习简历至今,已经过去400多天.我也尘埃落定,即将去CVTE做Android开发. 休息了很长时间,如今已经能够很平静地回首这段历程,写下这篇文,致敬曾经走过的漫 ...

  8. AspNetCore添加API限流

    最近发现有客户在大量的请求我们的接口,出于性能考虑遂添加了请求频率限制. 由于我们接口请求的是.Net Core写的API网关,所以可以直接添加一个中间件,中间件中使用请求的地址当key,通过配置中心 ...

  9. [开源]入坑Qt,我的第一个小程序:MD5计算器

    版权声明 --------- 本文仅在知乎与博客园发布.开发者为szx0427 MFC和Win32搞了好几年了,也算是懂了个皮毛,但是一直觉得用这两者开发软件都很麻烦,需要将大量的代码花费在UI等地方 ...

  10. 一定要弄懂GetMemory

    堆栈 栈中分配局部变量空间,是系统自动分配空间.定义一个 char a:系统会自动在栈上为其开辟空间.由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉 ...