ECMAScript 和JavaScript是什么?两者之间的关系是什么?
本质上都跟一门语言有关,一个是语言本身的名字,一个是语言的约束条件
只不过发明JavaScript的那个人(Netscape公司)
把东西交给了ECMA(European Computer Manufacturers Association)
这个人规定一下他的标准
因为当时有java语言了,又想强调这个东西是让ECMA这个人定的规则,
所以就这样一个神奇的东西诞生了,这个东西的名称就叫做ECMAScript——规定了浏览器脚本语言的标准
javaScript = ECMAScript + DOM + BOM(自认为是一种广义的JavaScript)
ECMAScript说什么JavaScript就得做什么!
JavaScript(狭义的JavaScript)做什么都要问问ECMAScript我能不能这样干!如果不能我就错了!能我就是对的!
——突然感觉JavaScript好没有尊严,为啥要搞个人出来约束自己,
那个人被创造出来也好委屈,自己被创造出来完全是因为要约束JavaScript
(真的好悲剧,你就不能自己约束自己吗?真的是……就为了在世界上通用)
Java 和 JavaScript 的关系,就和雷锋和雷锋塔一样 —— 并没有什么关系
因为JavaScript非得趁人家java的热点!!!!就给自己取了个这样的名字
还有现在网络上说的ES6就是ES2015!!!惊不惊喜,意不意外,真的是……
ES1——1996
刚出来的法律没人在乎
javaScript 开发者们并不怎么在乎这些
而且现实中的很多实现都已经和标准大相径庭。
ES2——很快就出现了但是并没有什么软用
ES3是在1999年完成的
自从完成了第三个版本,就有10多年都没有添加法律法规了,然后人们都已经麻痹了
当4被淘汰,5出来的时候,人们根本就直接忽视这个法律
可是大部分开发者还是写着 ECMAScript 3 风格的代码,并不觉得有必要去了解这些规范。
ES4因为起草太过激烈被PASS了,被boss给抛弃了
ES5在2009年完成了
刚开始出来的时候
仍然用了数年这些新规范才得到了浏览器的广泛支持,
可是大部分开发者还是写着 ECMAScript 3 风格的代码,并不觉得有必要去了解这些规范。
2012 年,事情突然开始有了转变。
大家开始推动停止对旧版本 IE 浏览器的支持,用 ECMAScript 5 (ES5) 风格来编写代码也变得更加可行。
然后就是因为大家的鼓动,那个公司又开始着手准备指定更加新颖的规范了,也就是准备发布ES6
ES6也就在2015年被发明出来了但是这个东西又不够完善
2015 年,负责制定 ECMAScript 规范草案的委员会 TC39 决定将定义新标准的制度改为一年一次,
这意味着每个新特性一旦被批准就可以添加,而不像以往一样,规范只有在整个草案完成,所有特性都没问题后才能被定稿。
所以就暂且把这个发出来的版本称之为所谓的ECMAScript2015
并不是所有浏览器都能兼容ES6全部特性
然后就是这个鬼规范,搞出来又不能在具体浏览器上完全实现,也没有被普及,而且还在不停地加东西,这个时候一个很好的软件就诞生了,他就是bable
Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。
ECMAScript2015学习