目录

1.ES6是什么鬼?

2.ECMAScript 和 JavaScript 的关系

3.ECMAScript 的历史


1.ES6是什么鬼?

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

2.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)。日常场合,这两个词是可以互换的。

3.ECMAScript 的历史

ES6 从开始制定到最后发布,整整用了 15 年。

前面提到,ECMAScript 1.0 是 1997 年发布的,接下来的两年,连续发布了 ECMAScript 2.0(1998 年 6 月)和 ECMAScript 3.0(1999 年 12 月)。3.0 版是一个巨大的成功,在业界得到广泛支持,成为通行标准,奠定了 JavaScript 语言的基本语法,以后的版本完全继承。直到今天,初学者一开始学习 JavaScript,其实就是在学 3.0 版的语法。

2000 年,ECMAScript 4.0 开始酝酿。这个版本最后没有通过,但是它的大部分内容被 ES6 继承了。因此,ES6 制定的起点其实是 2000 年。

为什么 ES4 没有通过呢?因为这个版本太激进了,对 ES3 做了彻底升级,导致标准委员会的一些成员不愿意接受。ECMA 的第 39 号技术专家委员会(Technical Committee 39,简称 TC39)负责制订 ECMAScript 标准,成员包括 Microsoft、Mozilla、Google 等大公司。

2007 年 10 月,ECMAScript 4.0 版草案发布,本来预计次年 8 月发布正式版本。但是,各方对于是否通过这个标准,发生了严重分歧。以 Yahoo、Microsoft、Google 为首的大公司,反对 JavaScript 的大幅升级,主张小幅改动;以 JavaScript 创造者 Brendan Eich 为首的 Mozilla 公司,则坚持当前的草案。

2008 年 7 月,由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激烈,ECMA 开会决定,中止 ECMAScript 4.0 的开发,将其中涉及现有功能改善的一小部分,发布为 ECMAScript 3.1,而将其他激进的设想扩大范围,放入以后的版本,由于会议的气氛,该版本的项目代号起名为 Harmony(和谐)。会后不久,ECMAScript 3.1 就改名为 ECMAScript 5。

2009 年 12 月,ECMAScript 5.0 版正式发布。Harmony 项目则一分为二,一些较为可行的设想定名为 JavaScript.next 继续开发,后来演变成 ECMAScript 6;一些不是很成熟的设想,则被视为 JavaScript.next.next,在更远的将来再考虑推出。TC39 委员会的总体考虑是,ES5 与 ES3 基本保持兼容,较大的语法修正和新功能加入,将由 JavaScript.next 完成。当时,JavaScript.next 指的是 ES6,第六版发布以后,就指 ES7。TC39 的判断是,ES5 会在 2013 年的年中成为 JavaScript 开发的主流标准,并在此后五年中一直保持这个位置。

2011 年 6 月,ECMAScript 5.1 版发布,并且成为 ISO 国际标准(ISO/IEC 16262:2011)。

2013 年 3 月,ECMAScript 6 草案冻结,不再添加新功能。新的功能设想将被放到 ECMAScript 7。

2013 年 12 月,ECMAScript 6 草案发布。然后是 12 个月的讨论期,听取各方反馈。

2015 年 6 月,ECMAScript 6 正式通过,成为国际标准。从 2000 年算起,这时已经过去了 15 年。

javascript 语言标准 es6简介相关推荐

  1. 石川es6课程---1-2、ES6简介

    石川es6课程---1-2.ES6简介 一.总结 一句话总结: 从ECMAScript的历史发展来看,太顺了的时候总会遇到一挫折,比如ecma4 1.ECMAScript 和 JavaScript关系 ...

  2. Javascript Proxy对象 简介

    Javascript Proxy对象 简介 本文转载自:众成翻译 译者:eJayYoung 链接:http://www.zcfy.cc/article/4755 原文:https://blog.cam ...

  3. ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数

    ES6简介 ES全称:ECMAScript ; 由ECMA国际化组织制定的标准脚本语言的标准化规范: 为什么使用ES6? 每一次标准的诞生都意味着语言的完善,功能的加强,JavaScript语言本身也 ...

  4. ES6(ECMAScript2015)/01/ES6简介

    ES6简介 啥是ES6 大家都知道,JavaScript由DOM.BOM.ECMAScript组成,ECMAScript是标准. ES6的全称其实是ES2015(6.0)每年更新,依次类推 ES201 ...

  5. ES6简介与发展历史(ES笔试题、简介、ECMAScript 背景、ECMAScript 历史)

    目录 ES6简介与发展历史 1.简介 2.ECMAScript 背景 3.ECMAScript 历史 ES6简介与发展历史 1.简介 ES6, 全称 ECMAScript 6.0 ,是 JavaScr ...

  6. JavaScript 之ES6

    一.ES6 简介 1.1什么是 ES6 ? ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范. ES6 实际上是一个泛指,泛指  ES2015 ...

  7. javascript的ES6学习总结(第三部分)

    1.ES6中的面向对象的类 1.1.定义类 在ES5中,我们写一个类,通常是这么写的 function Person(name,age){this.name = name;this.age = age ...

  8. JavaScript事件冒泡简介及应用

    JavaScript事件冒泡简介及应用 一.什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件 ...

  9. 56 道高频 JavaScript 与 ES6+ 的面试题及答案

    前端硬核面试专题 前言 本文讲解 56 道 JavaScript 和 ES6+ 面试题的内容. 复习前端面试的知识,是为了巩固前端的基础知识,最重要的还是平时的积累! 注意:文章的题与题之间用下划线分 ...

最新文章

  1. mysql 高效备份_Mysql高性能备份方案解决数据不间断访问(LVM快照方式备份)
  2. c++   string类
  3. node不是内部命令时配置node环境变量
  4. 年度最期待游戏废土2登陆Linux
  5. 面向云数据库,超低延迟文件系统PolarFS诞生了
  6. Java反射机制是什么?
  7. Python+OpenCV:图像轮廓
  8. php中多重继承,PHP如何使用接口实现多重继承?(代码示例)
  9. 【PRML 学习笔记】第三章 - 线性回归模型 (Linear Models for Regression)
  10. python编程单词排序_Python:对输入的单词进行字典序排序输出
  11. Excel表格的基本操作,包含制作一个表格的全部知识
  12. 淘宝用户行为分析(python+mysql+tableau)
  13. linux查看实时的日志命令,Linux实时查看日志的四种命令详解
  14. 办公室计算机收不到主机打印机,图文详解电脑怎么连接办公室打印机 一招教你搞定!...
  15. 手机水星路由器服务器无响应,水星路由器无线wifi连接成功但上不了网的解决方法...
  16. python 菜鸟联盟快递查询_快递单号查询接口-物流轨迹信息快递鸟api对接教程
  17. 使用Zerotier实现免费内网穿透
  18. 项目干系人管理-知识领域
  19. java中String.contains方法的使用详解
  20. 软件开发工期估算系列(5)——規模見積もりの王様「LOC見積もり」 ~見積もりの基本技法 その2

热门文章

  1. 计算机网络基础 — 网络设备 — 以太交换机(Switch)
  2. 边缘计算 — MEC 与运营商
  3. Openstack_通用模块_Oslo_vmware 创建 vSS PortGroup
  4. linux终端出现bash: setup.bash: No such file or directory,和.bashrc文件的问题
  5. Python 爬虫 58同城
  6. 前端Layui开发日常记录
  7. 科普云计算知识,迎接云计算大会
  8. mysql 命令行小结
  9. s5pv210运行裸机程序的方法之在SDRAM(DDR2)中运行
  10. 霸王洗发水经理被指冲击报社殴打记者