# 認識 javascript

# 不是 Java

javascript 誕生於 1995 年 5 月,只因商業考量冠上當時具話題性的「Java」。Javascript 與 Java 之間,除了基本語法及一些關鍵字相似外,在風格上或典範上是完全不同的語言。

# ECMA-262

語言規範 ECMA-262 於 1997 年 6 月正式釋出首個版本,也被稱為 ECMAScript。Javascript 在定位上,成為實現 ECMAScript 的語言,只不過開發者多半還是使用 Javascript 這個名稱。

# ECMA-262 第三版 ES3

真正最早普及,也是 Javascript 開發者最熟悉的 ECMAScript 版本是 1999 年 12 月發布的 ECMA-262 第三版,簡稱 ES3。
下個版本的 ES4 被否決了,部分針對 ES3 缺失進行改進的特性,在 2009 年 12 月重新命名為 ES5 。

# ES3 到 ES5

ES5 釐清了 ES3 中許多模糊不清的規範,重大特性之一是增加了嚴格模式,啟用嚴格模式後,若誤用了過去經驗上,被認為不好的 ECMA 特性,將會以直譯或執行錯誤終止程式,其他特性如涉直、取直和數、支援更多物件互動,JSON 的支援也是 ES5 的重要規範之一,某種程度而言,這些特性也是後續 ES6 的基礎。

# ES5 到 ES6

ES6 規範於 2015 年 6 月正式釋出,並希望以後底年份來區分版本,因此,又稱 ESMAScript2015。不過不少開發者仍習慣以 ES6 稱呼這版本,由於 Node.js 及主流瀏覽器積極支援,ES6 的普及率續速飆升,成為 ECMAScript 歷史上的重要版本,甚至被稱為新一代的 Javascript 語言。

# TC39 提案

從 ES6 之後,ESMAScript 採頻繁、每年 6 月釋出新版本的方式,令新版本發布常態化。

ECMA 下中有許多技術委員會與任務群組,其中 TC39 就是負責 ECMAScript 規範的技術委員會,語言的提案處理程序有 0 到 4 階段。

# 為 javascript 準備環境

# javascript 引擎

  • V8
    Google 開發的開放原始碼,用於 Google Chrome 及 Chromium,也是 Node.js 使用的引擎。
  • SpiderMonkey
    早期在 Netscape 中使用的 Javascript 引擎,已開放原始碼釋出,目前用於 Firefox 瀏覽器。
  • JavaScriptCore
    從 KJS 與 PCRE regular expression 程式庫發展出來的,使用於 apple 的 Safari 等,以 Webkit 當作引擎的瀏覽器。
  • Chakra
    Internet Explorer 使用的引擎,目前正被 IE11 使用。而 Edge 改以 V8 引擎。

# 下載、安裝 Node.js

前往 https://nodejs.org/ 可以看到兩個版本,可以先選擇 TLS 長期支援 (Long Term Support) 版本,也就是官方會長期提供重大臭蟲的修補。
因此,就實際服務的應用程式而言,用 LTS 版本較佳。

安裝完後想確定是否可以執行 node 指令,可以用 Windows 的程式選單中搜尋並執行「命令提示字元」,並輸入 node -v ,即可顯示 node 版本。

命令提示字元
C:\Users\user>node -v
v14.15.4

當使用者於「命令提示字元」(又稱 Console) 中輸入某個指令時,作業系統會看 PATH 環境變數設定的資料夾中。
Node.js 的安裝過程中,會自動設定 PATH 環境變數,因此可以直接執行。

# 參考資料

JavaScript 技術手冊

更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay