
系列文章總共分成三篇來介紹,列在下方方便大家參考:
本篇將從 ES5 接續介紹,還沒看過前一篇的話,可以先從 Part 1 開始看呦!
第五版相較 ECMAScript 3 多了許多新的屬性和特性,也擴增了一些物件的方法 (Method)。
"use strict"; 來開啟這個特性。在嚴格模式下,賦值給未宣告的變數會拋出 ReferenceError;delete 用在變數、函數的參數或名稱的時候會拋出 SyntaxError 等等。object.getPrototypeOf(), Object.getOwnPropertyDescriptor(), Object.getOwnPropertyNames(), Object.create() 等等。Date.now(), Date.prototype.toISOString(), Date.prototype.toJSON()trim重大更新!這一版新增了許多前端開發很常用到的關鍵字、特性以及語法糖。
export 和 import 關鍵字。javascript1const person = { 2 name: 'Bob', 3 email: 'bob@email.address' 4 age: 50, 5}; 6// Destructuring Assignment 7const { name, email, age } = person;
Int8Array, Uint8Array, Int16Array因為從這一版開始,每年會有小更新,所以之後的版本大都以 ECMAScript<年份> 來稱呼。
math.pow。
javascript12 ** 3 // 8
Array.includes 方法,判斷陣列是否包含某個元素。比起 ECMAScript 2016,ES2017 是一個相對重要的年度版本,最具代表性的語法就是 async / await,讓非同步程式碼更直覺。
async / await: 新的語法糖,讓 Promise 寫法更接近同步流程,使非同步操作更好閱讀與維護。
javascript1async function getData() { 2 const res = await fetch('/api/data'); 3 return res.json(); 4}
Object.values: 取得物件所有的 value。Object.entries: 取得 [key, value] 陣列,常用於轉成 Map 或搭配 for...of 使用。Object.getOwnPropertyDescriptors: 取得物件所有屬性的完整描述 (Descriptor),常用於複製物件。String.prototype.padStartString.prototype.padEnd在本篇中,我們探討了 ES5 與 ES6(包括 ES2016、ES2017)帶來的眾多改進,像是嚴格模式、模組化語法、Promise 以及 async/await。這些改動對現代 JavaScript 的寫法與結構帶來了深遠影響。
接下來的第三篇,我們會繼續延伸語言的年度版本演進(ES2018 以後),包括更多便利的語法糖、新增 API 與語言特性。這些更新雖然不像 ES6 那樣革命性,但在日常開發中同樣大幅提高效率。