聽過 ES6 嗎?甚至好奇這是什麼?
ECMAScript 6 ad JavaScript
你可能已經看過 “ES6” 或 “JavaScript ES6” 一詞,並想知道它實際意味著什麼。別再想了,因為我們將深入研究 ES6 究竟是什麼,以及它與 JavaScript 的關係!
首先,讓我們介紹一些歷史。JavaScript 於 1995 年由 Netscape Communications 公司引入,作為網頁設計師和工程師在網頁互動上所使用的腳本語言。第二年的時候,Netscape 向一家名為 Ecma International 的標準開發組織提交了 JavaScript,以創立腳本語言(一種編程語言)的標準。1997 年時,Ecma International 發布了 ECMA-262,為腳本語言 ECMAScript(縮寫為 ES)的第一版建立了標準。
這些新的 ECMAScript 標準為 JavaScript 的架構提供了規範。隨著層見疊出的程式設計法,以及開發者尋求新的功能,新版本的 ECMAScript 為 JavaScript 新舊版本間的一致性提供了基礎。
如何區分 JavaScript 和 ECMAScript?如果想開發 app 或是應用程式,你可以使用 JavaScript;如果要創建新的腳本語言,你可以遵循 ECMAScript 中的指導原則。因此,當你看到 ES6 或 JavaScript ES6 時,這意味著該版本的 JavaScript 遵循 ECMAScript 第六版的規範。你可能還會看到 ES2015 而不是 ES6,但這兩個術語都是指 2015 年發布的第六版 ECMAScript。下圖顯示了 JavaScript 多年來的演變情況:
你可能會問,現在更新的版本如 ES7 和 ES8,和 2015 年的版本還有什麼關係?
好吧,儘管發布了更新的版本,ES6 實際上是 ECMAScript 從 1997 年第一版發布以來的最大更新。一些開發者甚至因為新加入的功能,將 ES6 稱為「現代 JavaScript」。許多強大的功能幫助了 JavaScript 的開發者,其中包括:
- 宣告變數的新關鍵字 let 和 const
- 箭頭函式
- classes 的創建
- 引數的預設值
- promises 非同步操作
- 還有很多很多…
現在的瀏覽器支持大多數 ES6 功能,讓開發者善用這些新功能所帶來的好處。ES6 讓工程師節省許多時間,並且能夠使用更簡潔的方式撰寫程式。以函式表達式的 ES6 前語法為例:
var greeting = function() {
console.log(‘Hello World!’);
};
使用 ES6 箭頭函式,我們可以將上面的表達式轉換為:
const greeting = () => console.log(‘Hello World’);
然而,箭頭函式不僅僅是簡單地語法重寫。和其他 ES6 功能一樣,還有其他潛在的好處和權重需要考慮。儘管如此,ES6 在開發社區中被廣泛採用。諸如新 ES6 語法帶來的好處,使得流行的程式設計法 — 物件導向編程(OOP)變得更加容易,也讓習慣於 OOP 的其他程式語言的開發者,現在可以轉換並學習使用 JavaScript。另一個使得 ES6 流行的原因在於它被使用在一些如 React 的知名的框架上。因此,如果想學習最新的工具和框架,你將不得不在此過程中學習 ES6。
話雖如此,我們不應該忽視老舊的程式碼,即舊版本的 JavaScript。實際上,仍有許多專案是使用舊版程式碼建構和維護的!如果你希望能夠自由地處理任何類型的 JavaScript 專案,那麼應該要熟悉 ES6 和 ES6 之前版本的語法。
參考資料:
感謝您的閱讀,我試著將生活與自己所學到的知識,以平易近人的方式傳達給正在努力進步的同好,甚至是領域之外卻有興趣的人。如果喜歡我的文章,歡迎贊助我,你的鼓勵也是我進步的動力。