JavaScript in 2018
  • Present to you by Andy Pan @ NTUOSC
  • 2016/10/17 2018/11/23

自介

Kuang-Lin Pan (@qbane)
GitHub: github.com/andy0130tw
臺大資工系四年級
最近很喜歡寫 judge

背景知識

JavaScript 簡史 (ref.)

  • 緣起:好想在網頁上寫程式 (動畫、表單驗證、互動等等)
  • 紛亂:各家瀏覽器自己做自己的標準,亂成一團
  • 各種技術如 JScript、ActiveX、VBScript、Flash、Java Applet…
  • 短暫統一:ECMA 組織建立了統一的語法標準,成為 ECMAScript 的一種實作
  • 大致在 ES3 這個版本成形,維持了十餘年和平
  • ES4 被廢棄 (E4X),ES5 後伴隨瀏覽器戰爭結束,新標準大致確立
  • 邁向現代化:第六版 ES2015
  • 「標準函式庫」的意識
  • 「模組」的概念
  • 除此之外大多是語法糖和修正歷史遺毒

JavaScript 執行環境

  • 瀏覽器 (前端)
  • 精確來說是瀏覽器內部的 JavaScript 引擎
  • DOM:網頁內的元素與 JavaScript 中物件的對映關係
  • BOM:存取瀏覽器提供的功能
  • 後端如 NodeJS
  • 不受瀏覽器安全限制,提供和原生程式相仿的權限
  • 包成 universal app:例如 nw.js、Electron…
  • 變成服務的控制介面:例如 MongoDB 的 shell
  • 應該還有別的有趣用途吧 (?)

今天的目標

  1. 在網頁上寫點 JavaScript 試水溫
  1. 用 npm 打包網頁
  1. 寫個簡單的 server
  1. 串成一個聊天室系統

建議電腦具備較新版本的 Chrome/Chromium/Firefox。

安裝 NodeJS

Windows、Mac… https://nodejs.org/en/

建議裝 v8.0 以上的版本,版本間的主要差異在 ES2015 的支援程度,可參考支援度比較

安裝後可用以下指令檢測 node 與 npm (套件管理器):