Lesson 1: JavaScript與ECMAScript

JavaScript 有著很奇怪的命名史。

人類歷史上的第一款商用瀏覽器

1994, Netscape Navigator

1995 年,它作為網景瀏覽器(Netscape Navigator)的一部分首次發布,網景給這個新語言命名為 LiveScript。

一年后Java出現了,為了搭上當時媒體熱炒 Java 的順風車,臨時改名為了 JavaScript (當然,Java 和 JavaScript 的關系,就和雷鋒和雷峰塔一樣 ,并沒有什么關系)


1995, Sun Microsystem

Netscape的管理層幾乎全部是Java的愛好者和信徒,他們想要一個看起來很像Java的膠水語言

就像這樣

1996 年,網景將 JavaScript 提交給 ECMA International(歐洲計算機制造商協會) 進行標準化,并最終確定出新的語言標準,它就是 ECMAScript。自此,ECMAScript 成為所有 JavaScript 實現的基礎,不過,由于 JavaScript 名字的歷史原因和市場原因(很顯然 ECMAScript 這個名字并不令人喜歡……),現實中我們只用 ECMAScript 稱呼標準,平時都還是使用 JavaScript 來稱呼這個語言。

ECMAScript就是標準(Standard): 用于定義與其他事物區別的一套規則
JavaScript就是實現(Implementation): 某個標準的具體實施/真實實踐

不過,JavaScript 開發者們并不怎么在乎這些,因為在誕生之后的 15 年里,ECMAScript 并沒有多少變化,而且現實中的很多實現都已經和標準大相徑庭。其實在第一版的 ECMAScript 發布后,很快又跟進發布了兩個版本,但是自從 1999 年 ECMAScript 3 發布后,十年內都沒有任何改動被成功添加到官方規范里。取而代之的,是各大瀏覽器廠商們爭先進行自己的語言拓展,web 開發者們別無選擇只能去嘗試并且支持這些 API。即使是在 2009 年 ECMAScript 5 發布之后,仍然用了數年這些新規范才得到了瀏覽器的廣泛支持,可是大部分開發者還是寫著 ECMAScript 3 風格的代碼,并不覺得有必要去了解這些規范。

到了 2012 年,事情突然開始有了轉變。大家開始推動停止對舊版本 IE 瀏覽器的支持,用 ECMAScript 5 (ES5) 風格來編寫代碼也變得更加可行。與此同時,一個新的 ECMAScript 規范也開始啟動。到了這時,大家開始逐漸習慣以對 ECMAScript 規范的版本支持程度來形容各種 JavaScript 實現。在正式被指名為 ECMAScript 第 6 版 (ES6) 之前,這個新的標準原本被稱為 ES.Harmony(和諧)。2015 年,負責制定 ECMAScript 規范草案的委員會 TC39 決定將定義新標準的制度改為一年一次,這意味著每個新特性一旦被批準就可以添加,而不像以往一樣,規范只有在整個草案完成,所有特性都沒問題后才能被定稿。因此,ECMAScript 第 6 版在六月份公布之前,又被重命名為了 ECMAScript 2015(ES2015)
目前,仍然有很多新的 JavaScript 特性或語法正在提議中,包括 decorators(裝飾者)async-await(async-await 異步編程模型)static class properties(靜態類屬性)。它們通常被稱為 ES7,ES2016 或者 ES.Next 的特性,不過實際上它們只能被稱作提案或者說可能性,畢竟 ES2016 的規范還沒有完成,有可能全部都會引入,也有可能一個都沒有。
TC39 把一個提案分為 4 個階段,你可以在 Babel 的官網 上查看各個提案目前都在哪個階段了。

https://tc39.github.io/process-document/

所以,我們該如何使用這一大堆術語呢?下面的列表或許能幫助到你:

  • ECMAScript:一個由 ECMA International 進行標準化,TC39 委員會進行監督的語言。通常用于指代標準本身。
  • JavaScript:ECMAScript 標準的各種實現的最常用稱呼。這個術語并不局限于某個特定版本的 ECMAScript 規范,并且可能被用于任何不同程度的任意版本的 ECMAScript 的實現。
  • ECMAScript 5 (ES5):ECMAScript 的第五版修訂,于 2009 年完成標準化。這個規范在所有現代瀏覽器中都相當完全的實現了。
  • ECMAScript 6 (ES6) / ECMAScript 2015 (ES2015):ECMAScript 的第六版修訂,于 2015 年完成標準化。這個標準被部分實現于大部分現代瀏覽器。可以查閱這張兼容性表來查看不同瀏覽器和工具的實現情況。
  • ECMAScript 2016:預計的第七版 ECMAScript 修訂,計劃于明年夏季發布。這份規范具體將包含哪些特性還沒有最終確定
  • ECMAScript Proposals:被考慮加入未來版本 ECMAScript 標準的特性與語法提案,他們需要經歷五個階段:Strawman(稻草人),Proposal(提議),Draft(草案),Candidate(候選)以及 Finished (完成)。

關于ES6

推薦:阮一峰《ECMAScript6入門》
http://es6.ruanyifeng.com

你必須掌握的ES6特性

  • let與塊級作用域
  • 模板字符串
  • 箭頭函數
  • Class基本用法和getter、setter
  • 裝飾器Decorator的用法
  • ES6的模塊化特性(特別注意import()這個異步加載方案,已經進入了候選階段)

在這整個專題中,將把目前的 ECMAScript 版本稱作 ES6(因為這是大部分開發者最習以為常的),把明年的規范稱作 ES2016(因為,與 ES6/ES2015 不同,這個名字將在整個標準化過程中沿用)并且將那些還沒有成為 ECMAScript 定稿或草案的未來語言概念稱為 ECMAScript 提案或者 JavaScript 提案。


以下內容是關于JavaScript之父的,有興趣可以看看


關于JavaScript之父

1995, Brendan Eich, 34歲。他就是JS之父,請記住他。
后來,Netscape變成了Mozilla,2014年Eich變成了CEO
同年3月Eich因“同性結婚”話題引發爭議而離職,只做了9天的CEO

Eich的個人Blog
https://brendaneich.com/

Eich的演講


https://www.youtube.com/results?search_query=brendan+eich

Eich的小性格
Eich一點兒都不喜歡Java,他是函數式編程的忠實信徒。他只是為了完成公司的任務,于是花10天的時間發明了JavaScript!

10天發明JavaScript

  • 借鑒C語言的基本語法
  • 借鑒Java語言的數據類型和內存管理
  • 借鑒Scheme語言,將函數提升到"第一等公民"(first class)的地位
  • 借鑒Self語言,使用基于原型(prototype)的繼承機制

"與其說我愛Javascript,不如說我恨它。它是C語言和Self語言一夜情的 產物。十八世紀英國文學家約翰遜博士說得好:'它的優秀之處并非原創, 它的原創之處并不優秀。'(the part that is good is not original, and the part that is original is not good.)"

很多人都覺得JS有點兒怪,這不怨你們,因為它爸爸也是這樣認為的。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,606評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,582評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,540評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,028評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,801評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,223評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,294評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,442評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,976評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,800評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,996評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,543評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,233評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,926評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,702評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容

  • JavaScript 是面向 Web 的編程語言,絕大多數現代網站都使用了 JavaScript,并且所有的現代 ...
    劼哥stone閱讀 872評論 0 8
  • 1】 去年蘇州,突如其來的冷空氣,油紙傘的雨巷迎來雨雪。 西北的我,抵不過這里的濕冷,輕感冒但幾天都不能好。 2】...
    Angus20閱讀 1,173評論 20 37
  • 2017.10.11 滴滴叫車的一個經驗,老人自己看到車可以走,上車后馬上聯系我們,我們支付爽約金。 ...
    amylismile閱讀 238評論 0 1
  • 我們都是來自塵河中的一片葉,飄飄落落,散在世界的各處。每片葉子都有各自宿命的安排,在風的驅使下。可是有些風過于狂躁...
    PikeTalk閱讀 311評論 1 3
  • 構件比直接寫代碼稍稍簡單一些,但是各個參數還是要自己設, 并沒有簡單太多,我還是更欣賞,直接寫代碼。 這些構件并沒...
    你說你要一場閱讀 226評論 0 0