前端技術(shù)(一)ES6/ES2015歷史介紹

HTML/Javascript/CSS號(hào)稱前端三大利器,我們今天要講的就是最像一門計(jì)算機(jī)語(yǔ)言的Javascript臭蚁。那講Javascript,為什么標(biāo)題是ES6/ES2015,這個(gè)ES是什么東東呢弥咪?和Javascript有什么關(guān)系呢过蹂?

JavaScript

Javascript的前世今生

話說(shuō)還得從Javascript的前世今生說(shuō)起。首先眾所周知聚至,工作于 Netscape 的 Brendan Eich酷勺,開(kāi)始著手為即將在 1995 年發(fā)行的 Netscape Navigator 2.0 開(kāi)發(fā)一個(gè)稱之為 LiveScript 的腳本語(yǔ)言,當(dāng)時(shí)的目的是在瀏覽器和服務(wù)器(本來(lái)要叫它 LiveWire)端使用它扳躬。Netscape 與 Sun 及時(shí)完成 LiveScript 實(shí)現(xiàn)。就在 Netscape Navigator 2.0 即將正式發(fā)布前,Netscape 將其更名為 JavaScript禀综,目的是為了利用 Java 這個(gè)因特網(wǎng)時(shí)髦詞匯握联。Netscape 的賭注最終得到回報(bào),JavaScript 從此變成了因特網(wǎng)的必備組件役纹。從本質(zhì)上來(lái)說(shuō)JavaScript和Java沒(méi)什么關(guān)系偶摔。

隨后1996年8月,微軟模仿JavaScript開(kāi)發(fā)了一種相近的語(yǔ)言字管,取名為JScript(JavaScript是Netscape的注冊(cè)商標(biāo)啰挪,微軟不能用),首先內(nèi)置于IE 3.0嘲叔。網(wǎng)景公司面臨喪失瀏覽器腳本語(yǔ)言的主導(dǎo)權(quán)的局面亡呵。

1996年11月,網(wǎng)景公司決定將JavaScript提交給國(guó)際標(biāo)準(zhǔn)化組織ECMA硫戈,希望JavaScript能夠成為國(guó)際標(biāo)準(zhǔn)锰什,以此抵抗微軟。

1997年7月丁逝,ECMA組織發(fā)布262號(hào)標(biāo)準(zhǔn)文件(ECMA-262)的第一版汁胆,規(guī)定了瀏覽器腳本語(yǔ)言的標(biāo)準(zhǔn),并將這種語(yǔ)言稱為ECMAScript霜幼。這個(gè)版本就是ECMAScript 1.0版嫩码。之所以不叫JavaScript,一方面是由于商標(biāo)的關(guān)系罪既,Java是Sun公司的商標(biāo)铸题,根據(jù)一份授權(quán)協(xié)議,只有Netscape公司可以合法地使用JavaScript這個(gè)名字琢感,且JavaScript已經(jīng)被Netscape公司注冊(cè)為商標(biāo)丢间,另一方面也是想體現(xiàn)這門語(yǔ)言的制定者是ECMA,不是Netscape驹针,這樣有利于保證這門語(yǔ)言的開(kāi)放性和中立性烘挫。因此,ECMAScript和JavaScript的關(guān)系是柬甥,前者是后者的規(guī)格饮六,后者是前者的一種實(shí)現(xiàn)其垄。在日常場(chǎng)合,這兩個(gè)詞是可以互換的喜滨。

1998年6月捉捅,ECMAScript 2.0版發(fā)布。

1999年12月虽风,ECMAScript 3.0版發(fā)布棒口,成為JavaScript的通行標(biāo)準(zhǔn),得到了廣泛支持辜膝。

ECMAScript和JavaScript的版本

2007年10月无牵,ECMAScript 4.0版草案發(fā)布,對(duì)3.0版做了大幅升級(jí)厂抖,預(yù)計(jì)次年8月發(fā)布正式版本茎毁。草案發(fā)布后,由于4.0版的目標(biāo)過(guò)于激進(jìn)忱辅,各方對(duì)于是否通過(guò)這個(gè)標(biāo)準(zhǔn)七蜘,發(fā)生了嚴(yán)重分歧。以Yahoo墙懂、Microsoft橡卤、Google為首的大公司,反對(duì)JavaScript的大幅升級(jí)损搬,主張小幅改動(dòng)碧库;以JavaScript創(chuàng)造者Brendan Eich為首的Mozilla公司,則堅(jiān)持當(dāng)前的草案巧勤。

2008年7月嵌灰,由于對(duì)于下一個(gè)版本應(yīng)該包括哪些功能,各方分歧太大颅悉,爭(zhēng)論過(guò)于激進(jìn)沽瞭,ECMA開(kāi)會(huì)決定,中止ECMAScript 4.0的開(kāi)發(fā)剩瓶,將其中涉及現(xiàn)有功能改善的一小部分秕脓,發(fā)布為ECMAScript 3.1,而將其他激進(jìn)的設(shè)想擴(kuò)大范圍儒搭,放入以后的版本,由于會(huì)議的氣氛芙贫,該版本的項(xiàng)目代號(hào)起名為Harmony(和諧)搂鲫。會(huì)后不久,ECMAScript 3.1就改名為ECMAScript 5磺平。

2009年12月魂仍,ECMAScript 5.0版正式發(fā)布拐辽。Harmony項(xiàng)目則一分為二,一些較為可行的設(shè)想定名為Javascript.next繼續(xù)開(kāi)發(fā)擦酌,后來(lái)演變成ECMAScript 6俱诸;一些不是很成熟的設(shè)想,則被視為JavaScript.next.next赊舶,在更遠(yuǎn)的將來(lái)再考慮推出睁搭。

2011年6月,ECMAscript 5.1版發(fā)布笼平,并且成為ISO國(guó)際標(biāo)準(zhǔn)(ISO/IEC 16262:2011)园骆。

2013年3月,ECMAScript 6草案凍結(jié)寓调,不再添加新功能锌唾。新的功能設(shè)想將被放到ECMAScript 7。

2013年12月夺英,ECMAScript 6草案發(fā)布晌涕。然后是12個(gè)月的討論期,聽(tīng)取各方反饋痛悯。

2015年6月余黎,ECMAScript 6的第一個(gè)版本終于正式發(fā)布,它的目標(biāo)灸蟆,是使得 JavaScript 語(yǔ)言可以用來(lái)編寫復(fù)雜的大型應(yīng)用程序驯耻,成為企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言。而ES2015 則是至當(dāng)時(shí)發(fā)布的第一個(gè)版本的正式名稱炒考,特指該年發(fā)布的正式版本的語(yǔ)言標(biāo)準(zhǔn)可缚。

說(shuō)實(shí)話,感覺(jué)ES2015發(fā)布真的好累斋枢。但是為什么大家打架打的這么厲害呢帘靡,還得了解一下當(dāng)時(shí)Javscript在各個(gè)方面迅速發(fā)展的大背景。

Javscript的迅速發(fā)展

2008年瓤帚,V8編譯器誕生描姚。這是Google公司為Chrome瀏覽器而開(kāi)發(fā)的,它的特點(diǎn)是讓Javascript的運(yùn)行變得非掣甏危快轩勘。它提高了JavaScript的性能,推動(dòng)了語(yǔ)法的改進(jìn)和標(biāo)準(zhǔn)化怯邪,改變外界對(duì)JavaScript的不佳印象绊寻。同時(shí),V8是開(kāi)源的,任何人想要一種快速的嵌入式腳本語(yǔ)言澄步,都可以采用V8冰蘑,這拓展了JavaScript的應(yīng)用領(lǐng)域。

2009年村缸,Node.js項(xiàng)目誕生祠肥,創(chuàng)始人為Ryan Dahl,它標(biāo)志著Javascript可以用于服務(wù)器端編程梯皿,從此網(wǎng)站的前端和后端可以使用同一種語(yǔ)言開(kāi)發(fā)仇箱。并且,Node.js可以承受很大的并發(fā)流量索烹,使得開(kāi)發(fā)某些互聯(lián)網(wǎng)大規(guī)模的實(shí)時(shí)應(yīng)用變得容易工碾。

2009年,Jeremy Ashkenas發(fā)布了CoffeeScript的最初版本百姓。CoffeeScript可以被轉(zhuǎn)化為JavaScript運(yùn)行渊额,但是語(yǔ)法要比JavaScript簡(jiǎn)潔。這開(kāi)啟了其他語(yǔ)言轉(zhuǎn)為JavaScript的風(fēng)潮垒拢。

2009年旬迹,PhoneGap項(xiàng)目誕生,它將HTML5和JavaScript引入移動(dòng)設(shè)備的應(yīng)用程序開(kāi)發(fā)求类,主要針對(duì)iOS和Android平臺(tái)奔垦,使得JavaScript可以用于跨平臺(tái)的應(yīng)用程序開(kāi)發(fā)。

2010年尸疆,三個(gè)重要的項(xiàng)目誕生椿猎,分別是NPM、BackboneJS和RequireJS寿弱,標(biāo)志著JavaScript進(jìn)入模塊化開(kāi)發(fā)的時(shí)代犯眠。

2011年,微軟公司發(fā)布Windows 8操作系統(tǒng)症革,將JavaScript作為應(yīng)用程序的開(kāi)發(fā)語(yǔ)言之一筐咧,直接提供系統(tǒng)支持。

2011年噪矛,Google發(fā)布了Dart語(yǔ)言量蕊,目的是為了結(jié)束JavaScript語(yǔ)言在瀏覽器中的壟斷,提供更合理艇挨、更強(qiáng)大的語(yǔ)法和功能残炮。Chromium瀏覽器有內(nèi)置的Dart虛擬機(jī),可以運(yùn)行Dart程序缩滨,但Dart程序也可以被編譯成JavaScript程序運(yùn)行吉殃。

2011年辞居,微軟工程師Scott Hanselman提出,JavaScript將是互聯(lián)網(wǎng)的匯編語(yǔ)言蛋勺。因?yàn)樗鼰o(wú)所不在,而且正在變得越來(lái)越快鸠删。其他語(yǔ)言的程序可以被轉(zhuǎn)成JavaScript語(yǔ)言抱完,然后在瀏覽器中運(yùn)行。

2012年刃泡,單頁(yè)面應(yīng)用程序框架(single-page app framework)開(kāi)始崛起巧娱,AngularJS項(xiàng)目和Ember項(xiàng)目都發(fā)布了1.0版本。

2012年烘贴,微軟發(fā)布TypeScript語(yǔ)言禁添。該語(yǔ)言被設(shè)計(jì)成JavaScript的超集,這意味著所有JavaScipt程序桨踪,都可以不經(jīng)修改地在TypeScript中運(yùn)行老翘。同時(shí),TypeScript添加了很多新的語(yǔ)法特性锻离,主要目的是為了開(kāi)發(fā)大型程序铺峭,然后還可以被編譯成JavaScript運(yùn)行。

可以說(shuō)Google的V8給Javascript注入了一股強(qiáng)心劑汽纠,讓Javascript開(kāi)始變得成為一門高性能的語(yǔ)言卫键,隨后成為各個(gè)領(lǐng)域應(yīng)用的推手。而后各大公司都開(kāi)始推出自己的Javascript語(yǔ)言版本虱朵,進(jìn)入了群雄爭(zhēng)霸的局面莉炉。自然這種情況是不利于語(yǔ)言的統(tǒng)一發(fā)展的。而國(guó)際標(biāo)準(zhǔn)化組織ECMA的標(biāo)準(zhǔn)版本ECMAScript2015才被寄予厚望碴犬,希望能夠讓Javascript成為一門真正廣泛應(yīng)用的企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言絮宁。

參考文獻(xiàn)

1、http://es6.ruanyifeng.com/#docs/intro
2翅敌、http://www.reibang.com/p/1cd0b2cb3ec4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羞福,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚯涮,更是在濱河造成了極大的恐慌治专,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遭顶,死亡現(xiàn)場(chǎng)離奇詭異张峰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)棒旗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門喘批,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)撩荣,“玉大人,你說(shuō)我怎么就攤上這事饶深〔筒埽” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵敌厘,是天一觀的道長(zhǎng)台猴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)俱两,這世上最難降的妖魔是什么饱狂? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮宪彩,結(jié)果婚禮上休讳,老公的妹妹穿的比我還像新娘。我一直安慰自己尿孔,他們只是感情好俊柔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著纳猫,像睡著了一般婆咸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芜辕,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天尚骄,我揣著相機(jī)與錄音,去河邊找鬼侵续。 笑死倔丈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的状蜗。 我是一名探鬼主播需五,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼轧坎!你這毒婦竟也來(lái)了宏邮?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缸血,失蹤者是張志新(化名)和其女友劉穎蜜氨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體捎泻,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飒炎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笆豁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郎汪。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赤赊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出煞赢,到底是詐尸還是另有隱情抛计,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布耕驰,位于F島的核電站爷辱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏朦肘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一双饥、第九天 我趴在偏房一處隱蔽的房頂上張望媒抠。 院中可真熱鬧,春花似錦咏花、人聲如沸趴生。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)苍匆。三九已至,卻和暖如春棚菊,著一層夾襖步出監(jiān)牢的瞬間浸踩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工统求, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留检碗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓码邻,卻偏偏與公主長(zhǎng)得像折剃,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子像屋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容