Javascript es8 教程
隨著Javascript在網頁開發中的使用越來越廣泛,它也在不斷地演進。最新版的Javascript es8相較于以往的版本,在語法和功能方面都有了新的改進和擴展。本篇文章將為大家介紹一些Javascript es8的新語法和功能。
一、Object.entries
在es8之前,當我們需要遍歷對象的屬性及其值時,常常使用for...in循環。但是在使用for...in循環時,我們還需要再做其他判斷,并且其遍歷的順序是不確定的。在es8中,可使用Object.entries方法轉換為數組,其中每個數組元素都是一個由屬性名和屬性值所組成的數組,且保持原來的順序。下面是示例代碼:
const obj = { a: 1, b: 2, c: 3 }; const arr = Object.entries(obj); console.log(arr); //輸出:[ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ] ]
二、Object.values Object.values方法可以將一個對象的屬性值以數組的形式返回,同樣保持原來的順序。下面是示例代碼:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); //輸出:[ 1, 2, 3 ]
三、PadStart和PadEnd 在原本字符串的基礎上,我們可以使用padStart和padEnd方法往字符串前后追加指定長度的字符串。下面是示例代碼:
const name = 'Lucy'; const paddingName = name.padStart(8, '*'); //在字符串前面添加5個* console.log(paddingName); //輸出:***Lucy const paddingName = name.padEnd(8, '*'); //在字符串后面添加5個* console.log(paddingName); //輸出:Lucy***
四、async/await 在es8中,我們可以使用async和await來處理異步操作,簡化了原有的回調函數的寫法。其中async是一個用于聲明異步函數的關鍵字,await是用于暫停代碼執行并等待異步操作完成的關鍵字。下面是示例代碼:
function print(val) { return new Promise(resolve=>{ setTimeout(() =>{ console.log(val); resolve(); }, 3000); }) } async function main() { await print('hello'); console.log('world'); } main();
五、Array.prototype.includes 在es8中,數組的原型上增加了一個includes方法,用于判斷數組中是否包含某個元素。和之前的indexOf方法相比,includes方法更加簡潔且直觀。示例代碼如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); //輸出:true console.log(arr.includes(6)); //輸出:false
總結 以上就是Javascript es8的一些新語法和功能,無論在代碼編寫還是在效率上,都有了不小的提升。希望本篇文章能對大家了解es8有所幫助。