Javascript 是一種高級的編程語言,它可以加強網頁的交互性和動態性。每年 Javascript 都會有新的版本和新的特性。在 2017 年, ECMAScript (Javascript 的標準化委員會) 發布了第八個版本——ECMAScript 2017。在這篇文章中,我們將會看到 ECMAScript 2017 去哪些新特性以及如何使用它們。
一、async 函數是一個異步函數,它可以使用 await 停止代碼,直到結果返回。這種功能很有用,因為它可以使我們更好地控制異步操作。例如:
async function fetchData(url) { let response = await fetch(url); let data = await response.json(); return data; } fetchData('http://example.com/data') .then(data =>console.log(data)) .catch(err =>console.error(err));
二、Object.values() 可以獲取對象的所有值。這個新特性非常便捷,因為它解決了我們在遍歷對象時需要轉換對象的問題。例如:
const person = { name: 'John', age: 25, gender: 'male' }; const values = Object.values(person); console.log(values); // ['John', 25, 'male']
三、Object.entries() 可以獲取對象的所有屬性鍵和值。這個新特性可以使我們更好地遍歷對象并找到我們想要的信息。例如:
const person = { name: 'John', age: 25, gender: 'male' }; const entries = Object.entries(person); console.log(entries); // [['name', 'John'], ['age', 25], ['gender', 'male']]
四、字符串填充。現在,字符串原生支持填充。在之前,我們需要使用插值或是字符串連接實現這個功能。現在,我們可以使用填充模式來更方便地生成字符串。例如:
const fill1 = 'hello'.padStart(10); const fill2 = 'hello'.padEnd(10); console.log(fill1); // ' hello' console.log(fill2); // 'hello '
五、對象和數組解構現在允許你省略不需要的數據,從而使代碼更加簡潔。例如:
const person = { name: 'John', age: 25, gender: 'male' }; const { name, ...rest } = person; console.log(rest); // { age: 25, gender: 'male' } const numbers = [1, 2, 3, 4, 5]; const [first, second, ...rest] = numbers; console.log(rest); // [3, 4, 5]
六、箭頭函數在 ECMAScript 2017 的版本中得到了新的更新。現在,箭頭函數可以支持具有多行代碼塊的函數體。例如:
const multiLine = (a, b) =>{ let result = a + b; return result; } const result = multiLine(10, 15); console.log(result); // 25
七、現在字符串和數字都支持 _ 分隔符。_ 分隔符可以幫助我們更好地可視化我們的代碼。例如:
const bigNumber = 10_000_000; const bigString = 'hello_world'.replaceAll('_', ' '); console.log(bigNumber); // 10000000 console.log(bigString); // 'hello world'
總之,ECMAScript 2017 帶來了很多便利的新特性,使得 Javascript 編程更加容易和有趣。我們可以利用這些新的函數和技巧來使我們的代碼更加干凈和可維護。如果您還沒有嘗試使用它們,請嘗試使用它們,您會發現這些新的特性會對您的開發流程有重大的影響。