Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1. JavaScript 起步走

88 views

Published on

認識JavaScript發展過程
瞭解ECMAScript規範
認識TC39提案
準備JavaScript環境

Published in: Technology
  • Be the first to comment

  • Be the first to like this

1. JavaScript 起步走

  1. 1. 1. JavaScript 起步走 • 學習目標 – 認識JavaScript發展過程 – 瞭解ECMAScript規範 – 認識TC39提案 – 準備JavaScript環境 2
  2. 2. JavaScript 的發展 • JavaScript創建者Brendan Eich • Netscape Communications最初是希望能 將Scheme語言嵌入到Navigator • 與Sun Microsystems已經在合作,希望能 在Navigator中支援Java,以在Web技術及 平臺上與微軟競爭 3
  3. 3. • Brendan Eich在《Effective JavaScript》前 言中這麼描述: 1995年5月在管理階層協迫性且互相衝突的命令: 「讓它看起來像 Java」、「讓初學者容易上手」、 「讓它能控制 Netscape 瀏覽器中幾乎所有的東 西」之下,我在十天內建立了 JavaScript。 4
  4. 4. 不是 Java • JavaScript一開始命名為Mocha • 1995年9月Navigator 2.0的Beta版改名為 LiveScript • 為了行銷這門語言,1995年12月被改名為 JavaScript • JavaScript與Java之間,在風格或是典範根 本上是兩種完全不同的語言 5
  5. 5. JScript • 1996 年 8 月在其Internet Explorer 3.0瀏 覽器中,推出了與JavaScript語法上極為類 似的腳本語言 • 不想與Sun處理商標問題,這門語言被命名 為JScript 6
  6. 6. ECMA-262 第三版 • Netscape於1996年11月正式向ECMA提交 語言規範 • ECMA-262於1997 年 6 月正式釋出首個版 本,亦被稱為ECMAScript • JavaScript成為實現ECMAScript的語言 • JScript或後來的TypeScript等語言,也實 現了ECMAScript規範 7
  7. 7. • 1999年12月發佈的ECMA-262第三版,簡 稱ES3 • 直到下一個規範版本發佈,中間耗費了十 年之久的時間 • 在多方政治角力之後,原本應該是下個版 本的ES4被否決了 • 部份針對ES3缺失進行改進的特性,原預計 被發佈為ES3.1,後來在2009年12月重新 命名為ES5 8
  8. 8. ES5 到 ES6 • ES5釐清了ES3中許多模糊不清的規範,重 大特性之一是增加嚴格模式(Strict mode) • 其他特性如設值(Setter)、取值(Getter) 函式的支援、更多的物件屬性設置,JSON 的支援也是ES5的重要規範之一 • ES6規範於2015年6月正式釋出,並希望之 後以年份來區分版本,因此又稱 ECMAScript 2015 9
  9. 9. 認識 TC39 提案 • 從ES6之後,採頻繁、每年6月釋出新版本 的方式,令新版本的發佈常態化,新版本 內容僅包含當年已完成的新特性 • ECMAScript proposals • TC39是負責ECMAScript規範的技術委員會 10
  10. 10. The TC39 Process • 0:稻草人(Strawperson) • 1:提案(Proposal) • 2:草案(Draft) • 3:侯選(Candidate) • 4:完成(Finished) 11
  11. 11. 12https://node.green
  12. 12. 13https://github.com/williamkapke/node-compat-table
  13. 13. • 幾乎現有的常青(Even green)瀏覽器都 支援ES6 • 建議別再考慮支援Internet Explorer • 至少以常青瀏覽器為目標環境並使用ES6, 或者在必須考量IE11的情況下使用ES5 14
  14. 14. JavaScript 引擎 • V8 – Google開發的開放原始碼JavaScript引擎 – 用於Google Chrome及Chromium,也是 Node.js使用的JavaScript引擎 • SpiderMonkey – 早期在Netscape中使用的JavaScript引擎 – 由Mozilla Foundation維護,目前用於Firefox 瀏覽器 15
  15. 15. • JavaScriptCore – 從KJS 與PCRE regular expression程式庫而來 – 使用於Apple的Safari等以WebKit作為呈現引 擎的瀏覽器中 • Chakra – Internet Explorer使用的JavaScript引擎,本來 也使用於Edge瀏覽器 – 2018年底,Edge開始使用V8作為JavaScript 引擎,IE11則繼續使用Chakra 16
  16. 16. • Rhino • QuickJS • Hermes 17
  17. 17. 下載、安裝 Node.js 18
  18. 18. 19
  19. 19. 20

×