你知道 ES6~ES12等叫法是怎么来的吗?
你知道 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等叫法是怎么来的吗?的更多相关文章
- 简述ES5 ES6
很久前的某一天,一位大神问我,你知道ES6相对于ES5有什么改进吗? 我一脸懵逼的反问,那个啥,啥是ES5.ES6啊. 不得不承认与大神之间的差距,回来深思了这个问题,结合以前的知识,算是有了点眉目. ...
- ES6还是ES2015?
遇到了一个困惑 原来称作es6的现在突然变成es2015 了 原因是这个事ecma-262 的第六次变更,所有以前按照惯例称为es6. 但是为了更小版本频繁发布,现在 标准叫法是: esmasc ...
- 听闰土大话前端之ES6是怎么来的
前言 相信做前端的朋友没有不知道ECMAScript6的,都知晓ES6新增了不少新的特性,但是你知道ES6是怎么来的吗?今天就让闰土来带大家大话ES6的前世今生.当然了,这篇文章会以扫盲为主,科普为辅 ...
- 前端入门21-JavaScript的ES6新特性
声明 本篇内容全部摘自阮一峰的:ECMAScript 6 入门 阮一峰的这本书,我个人觉得写得挺好的,不管是描述方面,还是例子,都讲得挺通俗易懂,每个新特性基本都还会跟 ES5 旧标准做比较,说明为什 ...
- ES6躬行记(1)——let和const
古语云:“纸上得来终觉浅,绝知此事要躬行”.的确,不管看了多少本书,如果自己不实践,那么就很难领会其中的精髓.自己研读过许多ES6相关的书籍和资料,平时工作中也会用到,但在用到时经常需要上搜索引擎中查 ...
- [Web 前端 ] ES6 == ES 2015
cp from : https://www.cnblogs.com/ricoliu/p/5996149.html 遇到了一个困惑 原来称作es6的现在突然变成es2015 了 原因是这个事ecma ...
- ES6在工作中会用到的核心知识点讲解
一.var, let, const 谈到ES6,估计大家首先肯定会想到var,let,const 咱就先谈谈这三者的区别 var a = 3; { var a = 4; } console.log(a ...
- 简单说说ES6新特性
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了. 它的目标,是使得 JavaScript 语言可以用来编写复杂的大型 ...
- 《深入理解ES6》笔记——扩展对象的功能性(4)
变量功能被加强了.函数功能被加强了,那么作为JavaScript中最普遍的对象,不加强对得起观众吗? 对象类别 在ES6中,对象分为下面几种叫法.(不需要知道概念) 1.普通对象 2.特异对象 3.标 ...
随机推荐
- kali操作系统添加中文输入法
今天一通操作真心累啊.想安装搜狗输入法,百度搜索了好多 三步走:https://blog.csdn.net/qq_44110340/article/details/101382732 一顿操作猛如虎, ...
- SetupDi系列函数
SetupDiClassGuidsFromName WINSETUPAPI BOOL SetupDiClassGuidsFromNameA( PCSTR ClassName, LPGUID Class ...
- Vue 2升级 Vue 3初探小细节
前言 嗯,偶尔看看学习Vue 3技能啦,此前用过Vue 2做过一点东西,Vue 3已面世一段时间,于是乎,我来看看所遇到的问题是否在Vue 3中得到解决,首先,我们来讲讲一个例子在Vue 2中的实现, ...
- VSCode远程免密登录
VSCode远程免密登录 本地生成密钥 生成命令如下: ssh-keygen -t rsa 会生成id_rsa, id_rsa.pub两个文件 公钥拷贝到服务器 将公钥id_rsa.pub拷贝到服务器 ...
- 自学linux——16.LAMP项目上线流程
LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ① 下载nginx 网页下载https://nginx.org/en/downlo ...
- appium自动化测试(2)-工具(monitor、uiautomatorviewer)
获取应用信息: from appium import webdriver desired_caps ={} desired_caps['platformName']='Android'# 哪种移动平台 ...
- 双非本科Android开发,如何逆袭拿到大厂 Offer?
从2020年3月18日投出第一份暑期实习简历至今,已经过去400多天.我也尘埃落定,即将去CVTE做Android开发. 休息了很长时间,如今已经能够很平静地回首这段历程,写下这篇文,致敬曾经走过的漫 ...
- AspNetCore添加API限流
最近发现有客户在大量的请求我们的接口,出于性能考虑遂添加了请求频率限制. 由于我们接口请求的是.Net Core写的API网关,所以可以直接添加一个中间件,中间件中使用请求的地址当key,通过配置中心 ...
- [开源]入坑Qt,我的第一个小程序:MD5计算器
版权声明 --------- 本文仅在知乎与博客园发布.开发者为szx0427 MFC和Win32搞了好几年了,也算是懂了个皮毛,但是一直觉得用这两者开发软件都很麻烦,需要将大量的代码花费在UI等地方 ...
- 一定要弄懂GetMemory
堆栈 栈中分配局部变量空间,是系统自动分配空间.定义一个 char a:系统会自动在栈上为其开辟空间.由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉 ...