1.2 JavaScript起源
1995年9月,网景公司发布了Netscape Navigator 2.0 beta网页浏览器,其搭载了一门名为LiveScript的脚本语言(由Brendan Eich开发),同年11月,Netscape Navigator 2.0 beta 3发布时,LiveScript更名为JavaScript。
由于JavaScript作为网页客户端脚本非常成功,微软公司于1996年8月在其发布的Internet Explorer 3.0上搭载了JScript。
JavaScript和JScript在浏览器端的共存,意味着语言标准化的缺失,此时,对这门语言的标准化也被提上了日程。
1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会(Ecma国际组织)进行标准化。
1997年,由网景、SUN、微软、宝蓝等公司及个人组成的TC39(ECMA的第39号技术委员会)定义了一种名为ECMAScript的新脚本语言标准规范,命名为ECMA-262。
从此,ECMAScript便成为了JavaScript的标准。
ECMAScript首版发布于1997年6月,第二版和第三版分别发布于1998年6月和1999年12月,第四版由于太过激进,导致反对声音太多,所以被放弃。
十年后,即2009年12月,ECMAScript第五版正式发布,其中吸收了第四版的部分特性。
2015年6月17日,Ecma国际组织发布了ECMAScript的第六版——ECMAScript 2015(ES6),自此,TC39每年发布一版新的ECMAScript标准,新版本将按照ECMAScript+年份的形式命名。
- 2016年6月,发布ECMAScript 2016,相比ES6,主要增加了两个新特性——Array.prototype.include和取幂运算符。
- 2017年6月,发布ECMAScript 2017,主要变化在于:Object.values/Object.entries、字符串填充、Object.getOwnPropertyDescriptor、尾随逗号、异步函数、共享内存和原子操作等。
- 2018年6月,发布ECMAScript 2018,该版本带来了许多新特性,包含了异步循环、生成器、新的正则表达式特性和rest/spread语法。
截至2012年,现代浏览器基本都完整支持ECMAScript第五版,但截至2018年,浏览器对ES6的支持依旧不够完善,如需在客户端使用ES6+,需要使用babel等转码器将ES6+代码转化为ES5代码,从而在现有Web环境中运行。
时至今日,JavaScript已经不再局限于Web环境中运行,Nodejs的出现让JavaScript运行在了服务端,脱离了Web浏览器的限制,在其他领域,诸如智能硬件、物联网、桌面应用等,Javascript也有很广泛的应用。
注意:JavaScript与Java没有关系,这两门语言在语法、语义与用途方面有很大区别。