話說 JavaScript 實際上是誕生在一個特殊的時期,20世紀90年代,正值第三次科技革命時期,互聯網剛開始進入人們的生活。設想一下,在網速只有幾十比特的那個時代,在登陸註冊時要花上很長一段時間等待服務器傳回驗證信息,會是怎樣一種體驗?簡直是嘴上也不笑眯眯,內心千萬句mmp吧?爲了解決這個問題,網景公司着手設計出了JavaScript,與它的瀏覽器一塊兒捆綁推出。程序員
這裏有個問題,那就是Java跟JavaScript有什麼關係呢?畢竟單詞裏都帶有相同的「Java」字節,不免會讓人把他們聯繫在一塊兒啊。這裏只要記住Java跟JavaScript沒有半毛錢關係,若是說勉強算得上有關係的話,那就是JavaScript在創立之初本名叫LiveScript,可是由於當時Java風頭正足,爲了蹭熱點,改了名。正則表達式
JavaScript在誕生之初,有一些克隆兄弟,好比微軟家推出的JScript。咱們知道,克隆人的出現會影響社會秩序,編程語言亦然。論天下之大事,分久必合,合久必分,這個時候就繼續一個統一的標準對這些腳本語言進行規範了,因而ECMA組織了一些大公司的程序員開始策劃這個規範,ECMAScript第一代就這樣誕生了。如今咱們說的JavaScript實際上是說對ECMAScript的實現。編程
ECMAScript第一代出現後,很快就繁衍到了第二代,可是這一代的ECMAScript基本繼承了第一代的特性,對JavaScript的語法、句法進行描述,沒有作什麼改動。到第三代的時候,ECMAScript已經開始成熟,能夠被稱爲一門編程語言了,其中加入了新的的描述,好比支持錯誤處理、正則表達式等。第四代的ECMAScript能夠說是廢棄的一代,由於它的慾望太強了,試圖改朝換代,把舊有的ECMAScript改得面目全非,最終沒有被組織經過。第五代的ECMAScript能夠說是經歷了一個漫長的討論孕育期終於在2009年發佈了正式版,對ECMAScript特性進行了進一步的描述,包括引入模式,彌補JAVAScript鬆散的語言結構缺點,提供了更多方便快捷的新方法等。緊隨着ECMAScript5以後,2015年演化出了ECMAScript6,這一代的ECMAScript是他本身看起來更像是一門系統的編程語言了,添加了箭頭年符號簡化函數的寫法,強化了對象字面量等都使他看起來更像是年輕力壯的青年男子。進入壯年後的ECMAScript發展更加迅速了,2016年推出了第六代,新增了Array.prototype.includes和冪運算符。2017年又奮起直追,推出了第八代,新增了字符串填充、對象值遍歷、對象的屬性描述符獲取、 函數參數列表與調用中的尾部逗號、異步函數、共享內存與原子操做等。瀏覽器
因此,時至今日,ECMAScript也就是JavaScript的核心標準已經發展到了第八代,可是比較常常聽到周圍人提起的依然是ECMAScript6。服務器
本文來自於做者原創,如需轉載請告知異步