介绍

2021-08-08 15:07:22 Javascript 大约 7 分钟

学习一门语言我想有必要了解一下这门语言的发展史。

布兰登·艾奇

# JavaScript的起源

JavaScript因互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。

  • 1990年底,欧洲核能研究组织,发明了万维网(World Wide Web)。
  • 1992年底,美国国家超级电脑应用中心(NCSA),开发了第一个浏览器,Mosaic。
  • 1994年10月,Mosaic通信公司成立,不久后改名为Netscape。开始开发面向普通用户的新一代的浏览器 Netscape Navigator。
  • 1994年12月,Navigator发布了1.0版,市场份额一举超过90%。

1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。比如,如果网页上有一栏"用户名"要求填写,浏览器就无法判断访问者是否真的填写了,只有让服务器端判断。如果没有填写,服务器端就返回错误,要求用户重新填写,这太浪费时间和服务器资源了。因此,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。工程师Brendan Eich(布兰登·艾奇)负责开发这种新语言。他觉得,没必要设计得很复杂,这种语言只要能够完成一些简单操作就够了,比如判断用户有没有填写表单。

1995年5月,Brendan Eich(布兰登·艾奇)只用了10天,就设计完成了这种语言的第一版。由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。如果Brendan Eich预见到,未来这种语言会成为互联网第一大语言,全世界有几百万学习者,他会不会多花一点时间呢?如果不是公司的决策,Brendan Eich绝不可能把Java作为Javascript设计的原型。作为设计者,他一点也不喜欢自己的这个作品:

"与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之处并非原创,它的原创之处并不优秀。'(the part that is good is not original, and the part that is original is not good.)"
1

# 发展历史

历史版本 (opens new window)

  • 1995年5月,JavaScript诞生。
  • 1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。
  • 1998年6月,ECMAScript 2.0版发布。
  • 1999年12月,ECMAScript 3.0版发布,成为JavaScript的通行标准,得到了广泛支持。
  • 2007年10月,ECMAScript 4.0版草案发布,对3.0版做了大幅升级,预计次年8月发布正式版本。草案发布后,由于4.0版的目标过于激进,各方对于是否通过这个标准,发生了严重分歧。
  • 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,在更远的将来再考虑推出。
  • 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发布正式版本,即ECMAScript 2015。(ES6的第一个版本发布)
  • 截止发布日期,JavaScript的官方名称是ECMAScript 2015,下一版本将于2016年发布,命名为ECMAScript 2016。之后每年发布一版,新版本将按照ECMAScript+年份的形式发布。
  • 2016年6月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes方法和指数运算符),基本上是同一个标准。【也就是我们所说的ES7】

相关信息

因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。

名称 标准版本 发行时间
ECMAScript 1 (ES1) 1 1997年6月
ECMAScript 2 (ES2) 2 1998年6月
ECMAScript 3 (ES3) 3 1999年12月
ECMAScript 4 (ES4) 4 被放弃
ECMAScript 5 (ES5) 5 2009年12月
ECMAScript 5.1 (ES5.1) 5.1 2011年6月
ECMAScript 2015 (ES2015)也就是我们 ES6 6 2015年6月
ECMAScript 2016 (ES2016) 7 2016年6月
ECMAScript 2017 (ES2017 ) 8 2017年6月
... ... ...

# 目录

# 参考资料

上次编辑于: 2023年7月4日 09:36