文档章节

谈谈神秘的ES6——(一)初识ECMAScript

JandenMa
 JandenMa
发布于 07/18 07:54
字数 1024
阅读 6
收藏 0

谈谈神秘的ES6——(一)初识ECMAScript

在《零基础入门JavaScript》我们就说过,ECMAScript是JavaScript的核心,是JavaScript语法和语义的解释器,同时也是一个标准。而ECMAScript标准其实也有一个发展的历程,每一代,它都更新了一些东西,让JavaScript更强大。这一节课,我们就来了解一下ECMAScript。

ECMAScript的发展历史

  • 1995年,那时候的浏览器还只支持html和简单的css,这时候有一个浏览器巨头企业——网景,它不甘于做静态网站,于是呢,招了个大咖Brendan,开发了一个可供浏览器使用的函数式语言,经过近一年时间的迭代,慢慢形成了JavaScript的祖先。这时候微软跑出来了,捆绑IE3.0发布了一个JScript跟JavaScript形成竞争关系。ECMA国际觉得说太混乱了,于是以ECMAScript的名字,被标准化到ECMA-262规范中,规范指定者,是ECMA下一个叫TC39的技术委员会。在1996年11月开始,TC39不断完善规范,并于1997年6月,发布了ECMA-262的第一版。
  • 之后一年中,规范依据ISO / IEC 16262国际标准进行了改进,并由ISO认证机构大量审查,1998年6月正式发布第二版
  • 1999年12月,第三版也发布了,这一版的规范带来了正则表达式、switch、do..whie、try..catch、Object#hasOwnProperty以及其它的一些改变,同时新增的大部分规范在网景的新版浏览器SpiderMonkey中也得以实现。此版本成为了JavaScript的通行标准,得到了广泛支持。

  • 过了好长一段时间,在2007年10月,ES4的草案被提出,对3.0版做了大幅升级,预计次年8月发布正式版本。草案发布后,由于4.0版的目标过于激进,各方对于是否通过这个标准,发生了严重分歧。这使规范制定的工作停滞不前。这在Web标准指定史上是一个非常尴尬且奇妙的时刻,当时微软掌握着主动权,但是它对规范的改进却没太大的兴趣。

  • 与此同时进行的,是ES3的渐进加强版ES3.1标准的制定,其实ES3.1是ES4的一个缩水版,它将ES4涉及现有功能改善的一小部分,制定成ES3.1,由于会议的气氛,该版本的项目代号起名为Harmony(和谐),并于2007年10月正式发布。

  • 不久,ECMAScript 3.1就改名为ECMAScript 5,并在2009年12月正式发布,这个版本把十年来各浏览器中已有的普遍实践标准化了,改进了数组原型的函数式特征,原生支持了JSON的解析,提出了严格模式。Harmony项目则一分为二,一些较为可行的设想定名为JavaScript.next继续开发,后来演变成ECMAScript 6;一些不是很成熟的设想,则被视为JavaScript.next.next,在更远的将来再考虑推出。

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

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

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

  • 2015年6月,也就是ES5.1发布的四年后,TC39公布了JS语言有史以来最大的更新 ES6(即2015),其中包含了很多ES4中提出草案。JavaScript.next指向了ES7.0。

                                                                                                       

如果想跟着振丹继续学习,可以微信关注【振丹敲代码】(微信号:JandenCoding)

新博文微信同步推送,还附有讲解视频哦~

也可直接扫描下方二维码关注。

 

© 著作权归作者所有

共有 人打赏支持
JandenMa
粉丝 10
博文 28
码字总数 27794
作品 0
汕头
从零开始学 Web 之 JavaScript(一)JavaScript概述

大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程。此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注。在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间...

fengdaoting
06/03
0
0
JavaScript 编年小史

1995 由 Netscape 公司雇员Brendan Eich 花不到 10 天时间开发出来。之所以叫 JavaScript,因为 Netscape 想开发一款类 Java 的脚本语言来增强 Web 技术用于和微软竞争。 1996 Netscape 提交...

CPPAlien
05/09
0
0
Javascript---Javascript简介

javascript 是一门面向对象的动态语言。虽然在字面中带有java的字样但是千万不能和java混淆。 javascript的主要运用在web开发中,做交互方面的开发让交互变得更加的有意思和人性化。 ————...

不起眼的过路Sir
2014/09/26
0
0
前端开发指南:ES6的生成器和迭代器

     ES6为JavaScript语言带来了许多新特性。其中两个特性,生成器和迭代器,极大地改变了我们在更复杂的前端代码中编写特定函数的方式。   虽然他们之间的关系很好,但他们实际上做的...

webstack前端栈
04/19
0
0
Chrome V8 与 Node.js

从某种意义上来说,Node.js 并不是一个从零开始编写的 JavaScript 运行时,它其实也是站在“巨人的肩膀”上进行了一系列的拼凑和封装得到的结果。它的高效离不开一些很牛的第三方程序和类库。...

博文视点
06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
32分钟前
0
0
Confluence 6 数据库和临时目录

数据库 所有的其他数据库,包括有页面,内容都存储在数据库中。如果你安装的 Confluence 是用于评估或者你选择使用的是 Embedded H2 Database 数据库。数据库有关的文件将会存储在 database...

honeymose
47分钟前
1
0
day62-20180820-流利阅读笔记

1.今日导读 2.带着问题听讲解 3.新闻正文(中英文对照) 4.重点词汇 5.拓展内容

aibinxiao
57分钟前
0
0
分布式锁实现及对比

一、问题介绍 日常工作中很多场景下需要用到分布式锁,例如:任务运行(多个节点同一时刻同一个任务只能在一个节点上运行(分片任务除外)),交易接受(前端交易请求发送时,可能由于两次提...

yangjianzhou
今天
3
0
【AI实战】快速掌握TensorFlow(二):计算图、会话

在前面的文章中,我们已经完成了AI基础环境的搭建(见文章:Ubuntu + Anaconda + TensorFlow + GPU + PyCharm搭建AI基础环境),以及初步了解了TensorFlow的特点和基本操作(见文章:快速掌握...

雪饼
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部