解惑ECMAScript/JavaScript/TypeScript和CoffeeScript等概念

  • Ecma 是國際計算機(jī)制造商協(xié)會。在1994年之前,全名為歐洲計算機(jī)制造商協(xié)會(European Computer Manufacturers Association),后來更名為Ecma國際(Ecma International)
  • ECMAScript 是Ecma組織制定的標(biāo)準(zhǔn)化腳本語言,JScript和JavaScript語言是參考這個標(biāo)準(zhǔn)來實(shí)現(xiàn)的。
  • ECMAScript標(biāo)準(zhǔn)也是有不同的版本:早在2009年12月份ECMA就發(fā)布了ECMAScript5 ,然后在2015年6月份發(fā)布了ECMAScript6(官方稱ECMAScript2015)。
  • ECMAScript6的目標(biāo)是使得JavaScript語言可以用來編寫大型的復(fù)雜的應(yīng)用程序,于是增添了許多特性,例如:模塊和類,Maps、Sets、Promises、生成器(Generators)等。
  • 盡管ECMAScript6做了大量的更新,但標(biāo)準(zhǔn)化委員會仍然決定要兼容以前的版本,但隨之而來的問題是,目前主流的宿主環(huán)境(無論是瀏覽器環(huán)境還是服務(wù)器環(huán)境)不能完全支持ES6,導(dǎo)致了開發(fā)者真正要使用ECMAScript6時,需要將ECMAScript6代碼進(jìn)行轉(zhuǎn)譯。
  • TypeScript 是一種微軟開源的編程語言。由于JavaScript是弱類型的,TypeScript為JavaScript擴(kuò)展類和模塊的概念。正是由于TypeScript最大的特點(diǎn)是類型化,因此才叫做TypeScript。
  • TypeScript支持ECMAScript6標(biāo)準(zhǔn)(實(shí)際上相當(dāng)于是對ECMAScript6的提前實(shí)現(xiàn)),并且能將代碼根據(jù)需求轉(zhuǎn)換為 ES 3 / 5 / 6。這意味著開發(fā)者可以通過TypeScript使用最新的ECMAScript特性,無需再考慮兼容性的問題。
  • 和TypeScript 相似的工具語言還有很多,主要分為兩個陣營:
    • 一個是類似 Babel 的陣營,堅(jiān)持JavaScript 的語法風(fēng)格編寫,為開發(fā)者提供最新的 ECMAScript 特性;
    • 另一個則是Coffeescript、Clojure、Dart等的陣營,它們的語法與 JavaScript 迥然不同,但最終會編譯為JavaScript;
  • Dart、CoffeScript和TypeScript對比和思考:
    • CoffeeScript從2009年出現(xiàn)到現(xiàn)在,已十分成熟。從語法上看,CoffeeScript更像Ruby,寫起來比較隨意,而TypeScript更接近于C#。然而TypeScript正在超越CoffeeScript,成為大家的首選。

      CoffeeScript官網(wǎng) 2016/11/12截圖.png

    • TypeScript是通過類似于墊片(Shim)的技術(shù)進(jìn)行代碼轉(zhuǎn)化,生成與現(xiàn)有js完全兼容的代碼,從本質(zhì)上講它就是JavaScript。另外,由于TypeScript 是微軟的產(chǎn)品,所以在Visual Studio工具上有良好的支持。

      TypeScript官網(wǎng) 2016/11/12截圖.png

    • Dart最初是由 Google 的 Chrome V8 團(tuán)隊(duì)打造。與TypeScript編譯JavaScript代碼不同,Dart是跳過翻譯的步驟,直接在瀏覽器里面嵌入一個 Dart 解釋引擎與 V8 并行。相比起TS和CS,使用Dart的人相對較少。

      Dart官網(wǎng) 2016/11/12截圖

  • 最后,原生Javascript該怎么學(xué)還怎么學(xué),你不要指望通過TS or CS能完全替代它。畢竟要先學(xué)會跑,之后再討論穿那種鞋更爽。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • title: JavaScript的歷史layout: pagecategory: introductiondat...
    ichengzi閱讀 4,513評論 0 23
  • TypeScript快餐教程 (1) - 初識 JavaScript,更廣泛點(diǎn)也許可以說是ECMA Script的...
    Jtag特工閱讀 524評論 0 1
  • HTML/Javascript/CSS號稱前端三大利器,我們今天要講的就是最像一門計算機(jī)語言的Javascript...
    waynedeng閱讀 2,520評論 0 5
  • 有你的風(fēng)景啊,是那樣的奇妙,像風(fēng),帶著晨的光,溫潤美好的生活…… 我走在這些熟悉的地方。街角,河邊,小道……那一幕...
    東海歸來閱讀 609評論 1 3
  • 在同一個朝起夕落間 在同一個買賣的場所 我們在努力地叫賣著自己 上帝們總不以為然地來來往住 他們看中的是產(chǎn)值 因此...
    鄉(xiāng)村詩人閱讀 403評論 5 14

友情鏈接更多精彩內(nèi)容