ES6簡(jiǎn)介

寫在前面

本文集主要總結(jié)歸納了一些ES6的基本語(yǔ)法,主要引用了阮一峰老師的《ECMAScript 6 標(biāo)準(zhǔn)入門》一書。

簡(jiǎn)介

1.ES6是什么鬼?

ECMAScript 6.0(以下簡(jiǎn)稱 ES6)是 JavaScript 語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在 2015 年 6 月正式發(fā)布了。它的目標(biāo),是使得 JavaScript 語(yǔ)言可以用來編寫復(fù)雜的大型應(yīng)用程序,成為企業(yè)級(jí)開發(fā)語(yǔ)言。

2.ECMAScript 和 JavaScript 的關(guān)系

一個(gè)常見的問題是,ECMAScript 和 JavaScript 到底是什么關(guān)系?

要講清楚這個(gè)問題,需要回顧歷史。1996 年 11 月,JavaScript 的創(chuàng)造者 Netscape 公司,決定將 JavaScript 提交給標(biāo)準(zhǔn)化組織 ECMA,希望這種語(yǔ)言能夠成為國(guó)際標(biāo)準(zhǔn)。次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-262)的第一版,規(guī)定了瀏覽器腳本語(yǔ)言的標(biāo)準(zhǔn),并將這種語(yǔ)言稱為 ECMAScript,這個(gè)版本就是 1.0 版。

該標(biāo)準(zhǔn)從一開始就是針對(duì) JavaScript 語(yǔ)言制定的,但是之所以不叫 JavaScript,有兩個(gè)原因。一是商標(biāo),Java 是 Sun 公司的商標(biāo),根據(jù)授權(quán)協(xié)議,只有 Netscape 公司可以合法地使用 JavaScript 這個(gè)名字,且 JavaScript 本身也已經(jīng)被 Netscape 公司注冊(cè)為商標(biāo)。二是想體現(xiàn)這門語(yǔ)言的制定者是 ECMA,不是 Netscape,這樣有利于保證這門語(yǔ)言的開放性和中立性。

因此,ECMAScript 和 JavaScript 的關(guān)系是,前者是后者的規(guī)格,后者是前者的一種實(shí)現(xiàn)(另外的 ECMAScript 方言還有 JScript 和 ActionScript)。日常場(chǎng)合,這兩個(gè)詞是可以互換的。

3.ECMAScript 的歷史

ES6 從開始制定到最后發(fā)布,整整用了 15 年。

前面提到,ECMAScript 1.0 是 1997 年發(fā)布的,接下來的兩年,連續(xù)發(fā)布了 ECMAScript 2.0(1998 年 6 月)和 ECMAScript 3.0(1999 年 12 月)。3.0 版是一個(gè)巨大的成功,在業(yè)界得到廣泛支持,成為通行標(biāo)準(zhǔn),奠定了 JavaScript 語(yǔ)言的基本語(yǔ)法,以后的版本完全繼承。直到今天,初學(xué)者一開始學(xué)習(xí) JavaScript,其實(shí)就是在學(xué) 3.0 版的語(yǔ)法。

2000 年,ECMAScript 4.0 開始醞釀。這個(gè)版本最后沒有通過,但是它的大部分內(nèi)容被 ES6 繼承了。因此,ES6 制定的起點(diǎn)其實(shí)是 2000 年。

為什么 ES4 沒有通過呢?因?yàn)檫@個(gè)版本太激進(jìn)了,對(duì) ES3 做了徹底升級(jí),導(dǎo)致標(biāo)準(zhǔn)委員會(huì)的一些成員不愿意接受。ECMA 的第 39 號(hào)技術(shù)專家委員會(huì)(Technical Committee 39,簡(jiǎn)稱 TC39)負(fù)責(zé)制訂 ECMAScript 標(biāo)準(zhǔn),成員包括 Microsoft、Mozilla、Google 等大公司。

2007 年 10 月,ECMAScript 4.0 版草案發(fā)布,本來預(yù)計(jì)次年 8 月發(fā)布正式版本。但是,各方對(duì)于是否通過這個(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)論過于激烈,ECMA 開會(huì)決定,中止 ECMAScript 4.0 的開發(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ù)開發(fā),后來演變成 ECMAScript 6;一些不是很成熟的設(shè)想,則被視為 JavaScript.next.next,在更遠(yuǎn)的將來再考慮推出。TC39 委員會(huì)的總體考慮是,ES5 與 ES3 基本保持兼容,較大的語(yǔ)法修正和新功能加入,將由 JavaScript.next 完成。當(dāng)時(shí),JavaScript.next 指的是 ES6,第六版發(fā)布以后,就指 ES7。TC39 的判斷是,ES5 會(huì)在 2013 年的年中成為 JavaScript 開發(fā)的主流標(biāo)準(zhǔn),并在此后五年中一直保持這個(gè)位置。

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è)月的討論期,聽取各方反饋。

2015 年 6 月,ECMAScript 6 正式通過,成為國(guó)際標(biāo)準(zhǔn)。從 2000 年算起,這時(shí)已經(jīng)過去了 15 年。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,694評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,690評(píng)論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,019評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評(píng)論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,188評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,718評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,438評(píng)論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,667評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評(píng)論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,845評(píng)論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評(píng)論 1 295
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,384評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,635評(píng)論 2 380

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

  • 歡迎閱讀 《深入淺出 ES6》! 這個(gè)系列的文章,由 Jason Orendorff 發(fā)表于 hacks.mozi...
    FantasyShao閱讀 4,314評(píng)論 0 4
  • ECMAScript 6 簡(jiǎn)介 原文: ECMAScript 6.0(以下簡(jiǎn)稱 ES6)是 JavaScript ...
    huilegezai閱讀 391評(píng)論 0 0
  • JS 簡(jiǎn)史 Web 的興起已經(jīng)把 JavaScript 帶到一個(gè)前所未有的地步, 了解JS 的歷史更好的使用JS ...
    迷緣火葉閱讀 1,664評(píng)論 0 1
  • 轉(zhuǎn)自ECMAScript 6 簡(jiǎn)介 阮一峰ECMAScript 6.0(以下簡(jiǎn)稱 ES6)是 JavaScript...
    zhenzhuangde閱讀 610評(píng)論 0 0
  • JavaScript 語(yǔ)言的歷史 誕生 JavaScript 因?yàn)榛ヂ?lián)網(wǎng)而生,緊跟著瀏覽器的出現(xiàn)而問世。回顧它的歷...
    hnscdg閱讀 493評(píng)論 0 0