JavaScript的歷史

2021-09-15 15:11 更新

理解現(xiàn)在的最好方法之一,就是了解歷史,本節(jié)將全面介紹JavaScript的歷史。了解這些內(nèi)容,還有助于把握J(rèn)avaScript在整個(gè)計(jì)算機(jī)編程體系和計(jì)算機(jī)工業(yè)中所處的位置,以及這門(mén)語(yǔ)言涉及的全部?jī)?nèi)容。

JavaScript的誕生

JavaScript因?yàn)榛ヂ?lián)網(wǎng)而生,緊隨著瀏覽器的出現(xiàn)而問(wèn)世?;仡櫵臍v史,就要從瀏覽器的歷史講起。

1990年底,歐洲核能研究組織(CERN)科學(xué)家Tim Berners-Lee,在全世界最大的電腦網(wǎng)絡(luò)——互聯(lián)網(wǎng)的基礎(chǔ)上,發(fā)明了萬(wàn)維網(wǎng)(World Wide Web),從此可以在網(wǎng)上瀏覽網(wǎng)頁(yè)文件。最早的網(wǎng)頁(yè)只能在操作系統(tǒng)的終端里瀏覽,也就是說(shuō)只能使用命令行操作,網(wǎng)頁(yè)都是在字符窗口中顯示,這當(dāng)然非常不方便。

1992年底,美國(guó)國(guó)家超級(jí)電腦應(yīng)用中心(NCSA)開(kāi)始開(kāi)發(fā)一個(gè)獨(dú)立的瀏覽器,叫做Mosaic。這是人類歷史上第一個(gè)瀏覽器,從此網(wǎng)頁(yè)可以在圖形界面的窗口瀏覽。

1994年10月,NCSA的一個(gè)主要程序員Marc Andreessen聯(lián)合風(fēng)險(xiǎn)投資家Jim Clark,成立了Mosaic通信公司(Mosaic Communications),不久后改名為Netscape。這家公司的方向,就是在Mosaic的基礎(chǔ)上,開(kāi)發(fā)面向普通用戶的新一代的瀏覽器Netscape Navigator。

1994年12月,Navigator發(fā)布了1.0版,市場(chǎng)份額一舉超過(guò)90%。

Netscape公司很快發(fā)現(xiàn),Navigator瀏覽器需要一種可以嵌入網(wǎng)頁(yè)的腳本語(yǔ)言,用來(lái)控制瀏覽器行為。當(dāng)時(shí),網(wǎng)速很慢而且上網(wǎng)費(fèi)很貴,有些操作不宜在服務(wù)器端完成。比如,如果用戶忘記填寫(xiě)“用戶名”,就點(diǎn)了“發(fā)送”按鈕,到服務(wù)器再發(fā)現(xiàn)這一點(diǎn)就有點(diǎn)太晚了,最好能在用戶發(fā)出數(shù)據(jù)之前,就告訴用戶“請(qǐng)?zhí)顚?xiě)xx欄”。這就需要在網(wǎng)頁(yè)中嵌入小程序,讓瀏覽器檢查每一欄是否都填寫(xiě)了。

管理層對(duì)這種瀏覽器腳本語(yǔ)言的設(shè)想是:功能不需要太強(qiáng),語(yǔ)法較為簡(jiǎn)單,容易學(xué)習(xí)和部署。那一年,正逢Java語(yǔ)言開(kāi)始推向市場(chǎng),Netscape公司決定,腳本語(yǔ)言的語(yǔ)法要接近Java,并且可以支持Java程序。這些設(shè)想直接排除了使用現(xiàn)存語(yǔ)言,比如perl、python和TCL。

1995年,Netscape公司雇傭了程序員Brendan Eich開(kāi)發(fā)這種網(wǎng)頁(yè)腳本語(yǔ)言。Brendan Eich有很強(qiáng)的函數(shù)式編程背景,希望以Scheme語(yǔ)言(函數(shù)式語(yǔ)言鼻祖LISP語(yǔ)言的一種方言)為藍(lán)本,實(shí)現(xiàn)這種新語(yǔ)言。

1995年5月,Brendan Eich只用了10天,就設(shè)計(jì)完成了這種語(yǔ)言的第一版。它是一個(gè)大雜燴,語(yǔ)法有多個(gè)來(lái)源:

  • 基本語(yǔ)法:借鑒C語(yǔ)言和Java語(yǔ)言。
  • 數(shù)據(jù)結(jié)構(gòu):借鑒Java語(yǔ)言,包括將值分成原始值和對(duì)象兩大類。
  • 函數(shù)的用法:借鑒Scheme語(yǔ)言和Awk語(yǔ)言,將函數(shù)當(dāng)作第一等公民,并引入閉包。
  • 原型繼承模型:借鑒Self語(yǔ)言(Smalltalk的一種變種)。
  • 正則表達(dá)式:借鑒Perl語(yǔ)言。
  • 字符串和數(shù)組處理:借鑒Python語(yǔ)言。

為了保持簡(jiǎn)單,這種腳本語(yǔ)言缺少一些關(guān)鍵的功能,比如塊級(jí)作用域、模塊、子類型(subtyping)等等,但是可以利用現(xiàn)有功能找出解決辦法。這種功能的不足,直接導(dǎo)致了后來(lái)JavaScript的一個(gè)顯著特點(diǎn):對(duì)于其他語(yǔ)言,你需要學(xué)習(xí)語(yǔ)言的各種功能,而對(duì)于JavaScript,你常常需要學(xué)習(xí)各種解決問(wèn)題的模式。而且由于來(lái)源多樣,從一開(kāi)始就注定,JavaScript的編程風(fēng)格是函數(shù)式編程和面向?qū)ο缶幊痰囊环N混合體。

Netscape公司的這種瀏覽器腳本語(yǔ)言,最初名字叫做Mocha,1995年9月改為L(zhǎng)iveScript。12月,Netscape公司與Sun公司(Java語(yǔ)言的發(fā)明者和所有者)達(dá)成協(xié)議,后者允許將這種語(yǔ)言叫做JavaScript。這樣一來(lái),Netscape公司可以借助Java語(yǔ)言的聲勢(shì),而Sun公司則將自己的影響力擴(kuò)展到了瀏覽器。

之所以起這個(gè)名字,并不是因?yàn)镴avaScript本身與Java語(yǔ)言有多么深的關(guān)系(事實(shí)上,兩者關(guān)系并不深),而是因?yàn)镹etscape公司已經(jīng)決定,使用Java語(yǔ)言開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序,JavaScript可以像膠水一樣,將各個(gè)部分連接起來(lái)。當(dāng)然,后來(lái)的歷史是Java語(yǔ)言的瀏覽器插件(applet)失敗了,JavaScript反而發(fā)揚(yáng)光大。

JavaScript的發(fā)布和標(biāo)準(zhǔn)化

1995年12月4日,Netscape公司與Sun公司聯(lián)合發(fā)布了JavaScript語(yǔ)言。值得一提的是,17天之后Ruby語(yǔ)言也發(fā)布了它的第一個(gè)版本。

1996年3月,Navigator 2.0瀏覽器正式內(nèi)置了JavaScript腳本語(yǔ)言。

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)這門(mén)語(yǔ)言的制定者是ECMA,不是Netscape,這樣有利于保證這門(mén)語(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)取各方反饋。

2014年12月,ECMAScript 6預(yù)計(jì)將發(fā)布正式版本。

TC39的總體考慮是,ECMAScript 5與ECMAScript 3基本保持兼容,較大的語(yǔ)法修正和新功能加入,將由JavaScript.next完成。當(dāng)前,JavaScript.next指的是ECMAScript 6,當(dāng)?shù)诹姘l(fā)布以后,將指ECMAScript 7。 TC39預(yù)計(jì),ECMAScript 5會(huì)在2013年的年中成為Javascript開(kāi)發(fā)的主流標(biāo)準(zhǔn),并在今后五年中一直保持這個(gè)位置。

雖然ECMAScript是JavaScript的標(biāo)準(zhǔn),但是Netscape公司(以及后來(lái)的Mozilla基金會(huì))在內(nèi)部依然使用自己的版本號(hào)。這導(dǎo)致了JavaScript有自己不同于ECMAScript的版本號(hào)。

1996年3月,Navigator 2.0內(nèi)置了JavaScript 1.0。

1996年8月,Navigator 3.0內(nèi)置了JavaScript 1.1。

1997年6月,Navigator 4.0內(nèi)置了JavaScript 1.2。

1998年10月,Navigator 4.06內(nèi)置了JavaScript 1.3。

1999年,Netscape服務(wù)器版提供JavaScript 1.4。

2000年11月,Navigator 6.0內(nèi)置了JavaScript 1.5。

2005年11月,F(xiàn)irefox 1.5內(nèi)置了JavaScript 1.6。

2006年10月,F(xiàn)irfox 2.0內(nèi)置了JavaScript 1.7。

2008年6月,F(xiàn)irefox 3.0內(nèi)置了JavaScript 1.8。

JavaScript 1.1版對(duì)應(yīng)ECMAScript 1.0,但是直到JavaScript 1.4版才完全兼容ECMAScript 1.0。JavaScript 1.5版完全兼容ECMAScript 3.0。目前的JavaScript 1.8版完全兼容ECMAScript 5。

截止2013年初,所有瀏覽器的最新版本——Chrome 24,F(xiàn)irefox 19,IE 10.0,Opera 12,Safari 6——都支持ECMAScript 5.1版。

周邊大事記

1996年,樣式表標(biāo)準(zhǔn)CSS第一版發(fā)布。

1997年,DHTML(Dynamic HTML,動(dòng)態(tài)HTML)發(fā)布,允許動(dòng)態(tài)改變網(wǎng)頁(yè)內(nèi)容。這標(biāo)志著DOM模式(Document Object Model,文檔對(duì)象模型)正式應(yīng)用。

1998年,Netscape公司開(kāi)源了瀏覽器套件,這導(dǎo)致了Mozilla項(xiàng)目的誕生。幾個(gè)月后,美國(guó)在線(AOL)宣布并購(gòu)Netscape。

1999年,IE 5部署了XMLHttpRequest接口,允許Javascript發(fā)出HTTP請(qǐng)求,為后來(lái)大行其道的Ajax應(yīng)用創(chuàng)造了條件。

2000年,KDE項(xiàng)目重寫(xiě)了瀏覽器引擎KHTML,為后來(lái)的WebKit和Blink引擎打下基礎(chǔ)。這一年的10月23日,KDE 2.0發(fā)布,第一次將KHTML瀏覽器包括其中。

2001年,微軟公司時(shí)隔5年之后,發(fā)布了IE瀏覽器的下一個(gè)版本Internet Explorer 6。這是當(dāng)時(shí)最先進(jìn)的瀏覽器,它后來(lái)統(tǒng)治了瀏覽器市場(chǎng)多年。

2001年,Douglas Crockford提出了JSON格式,用于取代XML格式,進(jìn)行服務(wù)器和網(wǎng)頁(yè)之間的數(shù)據(jù)交換。JavaScript可以原生支持這種格式,不需要額外部署代碼。

2002年,Mozilla項(xiàng)目發(fā)布了它的瀏覽器的第一版,后來(lái)起名為Firefox。

2003年,蘋(píng)果公司發(fā)布了Safari瀏覽器的第一版。

2004年,Google公司發(fā)布了Gmail,促成了互聯(lián)網(wǎng)應(yīng)用程序(Web Application)這個(gè)概念的誕生。由于Gmail是在4月1日發(fā)布的,很多人起初以為這只是一個(gè)玩笑。

2004年,Dojo框架誕生,為不同瀏覽器提供了同一接口,并為主要功能提供了便利的調(diào)用方法。這標(biāo)志著JavaScript編程框架的時(shí)代開(kāi)始來(lái)臨。

2004年,WHATWG組織成立,致力于加速HTML語(yǔ)言的標(biāo)準(zhǔn)化進(jìn)程。

2005年,蘋(píng)果公司在KHTML引擎基礎(chǔ)上,建立了WebKit引擎。

2005年,Ajax方法(Asynchronous Javascript and XML)正式誕生,Jesse James Garrett發(fā)明了這個(gè)詞匯。它開(kāi)始流行的標(biāo)志是,2月份發(fā)布的Google Maps項(xiàng)目大量采用該方法。它幾乎成了新一代網(wǎng)站的標(biāo)準(zhǔn)做法,促成了Web 2.0時(shí)代的來(lái)臨。

2005年,Apache基金會(huì)發(fā)布了CouchDB數(shù)據(jù)庫(kù)。這是一個(gè)基于JSON格式的數(shù)據(jù)庫(kù),可以用Javascript函數(shù)定義視圖和索引。它在本質(zhì)上有別于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),標(biāo)識(shí)著NoSQL類型的數(shù)據(jù)庫(kù)誕生。

2006年,jQuery函數(shù)庫(kù)誕生,作者為John Resig。jQuery為操作網(wǎng)頁(yè)DOM結(jié)構(gòu)提供了非常強(qiáng)大易用的接口,成為了使用最廣泛的函數(shù)庫(kù),并且讓Javascript語(yǔ)言的應(yīng)用難度大大降低,推動(dòng)了這種語(yǔ)言的流行。

2006年,微軟公司發(fā)布IE 7,標(biāo)志重新開(kāi)始啟動(dòng)瀏覽器的開(kāi)發(fā)。

2006年,Google推出 Google Web Toolkit 項(xiàng)目(縮寫(xiě)為GWT),提供Java編譯成JavaScript的功能,開(kāi)創(chuàng)了將其他語(yǔ)言轉(zhuǎn)為JavaScript的先河。

2007年,Webkit引擎在iPhone手機(jī)中得到部署。它最初基于KDE項(xiàng)目,2003年蘋(píng)果公司首先采用,2005年開(kāi)源。這標(biāo)志著Javascript語(yǔ)言開(kāi)始能在手機(jī)中使用了,意味著有可能寫(xiě)出在桌面電腦和手機(jī)中都能使用的程序。

2007年,Douglas Crockford發(fā)表了名為《JavaScript: The good parts》的演講,次年由O'Reilly出版社出版。這標(biāo)志著軟件行業(yè)開(kāi)始嚴(yán)肅對(duì)待JavaScript語(yǔ)言,對(duì)它的語(yǔ)法開(kāi)始重新認(rèn)識(shí),

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)行。

2012年,Mozilla基金會(huì)提出asm.js規(guī)格。asm.js是JavaScript的一個(gè)子集,所有符合asm.js的程序都可以在瀏覽器中運(yùn)行,它的特殊之處在于語(yǔ)法有嚴(yán)格限定,可以被快速編譯成性能良好的機(jī)器碼。這樣做的目的,是為了給其他語(yǔ)言提供一個(gè)編譯規(guī)范,使其可以被編譯成高效的JavaScript代碼。同時(shí),Mozilla基金會(huì)還發(fā)起了Emscripten項(xiàng)目,目標(biāo)就是提供一個(gè)跨語(yǔ)言的編譯器,能夠?qū)LVM的位代碼(bitcode)轉(zhuǎn)為JavaScript代碼,在瀏覽器中運(yùn)行。因?yàn)榇蟛糠諰LVM位代碼都是從C / C++語(yǔ)言生成的,這意味著C / C++將可以在瀏覽器中運(yùn)行。此外,Mozilla旗下還有LLJS(將JavaScript轉(zhuǎn)為C代碼)項(xiàng)目和River Trail(一個(gè)用于多核心處理器的ECMAScript擴(kuò)展)項(xiàng)目。目前,在可以被編譯成JavaScript的語(yǔ)言列表上,共有將近40種語(yǔ)言。

2013年,Mozilla基金會(huì)發(fā)布手機(jī)操作系統(tǒng)Firefox OS,該操作系統(tǒng)的整個(gè)用戶界面都使用JavaScript。

2013年,ECMA正式推出JSON的國(guó)際標(biāo)準(zhǔn),這意味著JSON格式已經(jīng)變得與XML格式一樣重要和正式了。

2014年,微軟推出JavaScript的Windows庫(kù)WinJS,標(biāo)志微軟公司全面支持JavaScript與Windows操作系統(tǒng)的融合。

2014年11月,由于對(duì)Joyent公司壟斷Node項(xiàng)目、以及該項(xiàng)目進(jìn)展緩慢的不滿,一部分核心開(kāi)發(fā)者離開(kāi)了Node.js,創(chuàng)造了io.js項(xiàng)目,這是一個(gè)更開(kāi)放、更新更頻繁的Node.js版本,很短時(shí)間內(nèi)就發(fā)布到了2.0版。三個(gè)月后,Joyent公司宣布放棄對(duì)Node項(xiàng)目的控制,將其轉(zhuǎn)交給新成立的開(kāi)放性質(zhì)的Node基金會(huì)。隨后,io.js項(xiàng)目宣布回歸Node,兩個(gè)版本將合并。

2015年3月,F(xiàn)acebook公司發(fā)布了React Native項(xiàng)目,將React框架移植到了手機(jī)端,可以用來(lái)開(kāi)發(fā)手機(jī)App。它會(huì)將JavaScript代碼轉(zhuǎn)為iOS平臺(tái)的Object-C代碼,或者Android平臺(tái)的Java代碼,從而為JavaScript語(yǔ)言開(kāi)發(fā)高性能的原生App打開(kāi)了一條道路。

2015年4月,Angular框架宣布,2.0版將基于微軟公司的TypeScript語(yǔ)言開(kāi)發(fā),這等于為JavaScript語(yǔ)言引入了強(qiáng)類型。

2015年5月,Node模塊管理器npm超越CPAN,標(biāo)志著JavaScript成為世界上軟件模塊最多的語(yǔ)言。

2015年5月,Google公司的Polymer框架發(fā)布1.0版。該項(xiàng)目的目標(biāo)是生產(chǎn)環(huán)境可以使用WebComponent組件,如果能夠達(dá)到目標(biāo),Web開(kāi)發(fā)將進(jìn)入一個(gè)全新的以組件為開(kāi)發(fā)基礎(chǔ)的階段。

2015年6月,ECMA標(biāo)準(zhǔn)化組織正式批準(zhǔn)了ECMAScript 6語(yǔ)言標(biāo)準(zhǔn),JavaScript語(yǔ)言正式進(jìn)入了下一個(gè)階段,成為一種企業(yè)級(jí)的、開(kāi)發(fā)大規(guī)模應(yīng)用的語(yǔ)言。這個(gè)標(biāo)準(zhǔn)從提出到批準(zhǔn),歷時(shí)10年,而JavaScript語(yǔ)言從誕生至今 也已經(jīng)20年了。

2015年6月,Mozilla在asm.js的基礎(chǔ)上發(fā)布WebAssembly項(xiàng)目。這是一種JavaScript語(yǔ)言編譯后的二進(jìn)制格式,類似于Java的字節(jié)碼,有利于移動(dòng)設(shè)備加載JavaScript腳本,解析速度提高了20+倍。這意味著將來(lái)的軟件,會(huì)發(fā)布JavaScript二進(jìn)制包。

參考鏈接

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)