欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript es8

江奕云1年前8瀏覽0評論

隨著JavaScript不斷地發(fā)展,最近Javascript ES8 (也稱為ECMAScript 2017) 已經(jīng)發(fā)布。在ES8版本中,新增了一些新功能,可以幫助您更輕松地編寫Javascript代碼。下面我們就來看看一下ES8中的新功能。

首先,我們來介紹一下Async/await函數(shù)。在ES8中,使用async關(guān)鍵字定義 "異步函數(shù)" (也稱作 "async函數(shù)"),然后再配合使用await關(guān)鍵字,可以使我們更加方便地處理異步操作。

async function getUserData() {
const response = await fetch('/api/userData');
const data = await response.json();
return data;
}

感覺像是在同步地寫異步函數(shù)一樣!在這個函數(shù)中,我們使用了await來暫停代碼進行異步操作,當異步操作結(jié)束時,它會繼續(xù)往下執(zhí)行。

另一個新特性是Object.entries()和Object.values()。在ES8之前,我們使用Object.keys()方法獲取對象中所有的屬性名稱,但是如果我們想要獲取屬性值,則必須迭代整個對象。現(xiàn)在,ES8中提供了兩個新方法,方便我們獲取屬性值。

const user = { name: 'Alice', age: 25, gender: 'Female' };
console.log(Object.entries(user));
// [ ['name', 'Alice'], ['age', 25], ['gender', 'Female'] ]
console.log(Object.values(user));
// [ 'Alice', 25, 'Female' ]

正如你所看到的,使用Object.entries()方法,我們可以方便地獲取對象中所有的鍵值對,而不用進行手動迭代。另一方面,使用Object.values()方法我們可以獲取到所有的屬性值。

在ES8中,還有一個非常實用的新功能是String.padStart()和String.padEnd()。如果你需要使用確定位數(shù)的字符串,比如時鐘或者IMEI號碼,新的padStart()和padEnd()方法就可以幫你了。

const number = '123';
console.log(number.padStart(5, '0'));
// "00123"
console.log(number.padEnd(5, '0'));
// "12300"

在這個示例中,我們使用padStart()方法來向字符串的開頭添加零,以使其長度為5。如果不夠五位數(shù),就填補零,得到一個“00123”的字符串。同樣的,我們也可以使用padEnd()方法來在字符串的結(jié)尾添加零。

最后,我要向大家介紹一下ES8新增了的一些小的語法優(yōu)化。首先,我們現(xiàn)在可以使用以0b或0o開頭的二進制和八進制的字面量數(shù)字了。

const binaryNumber = 0b1010; // 10
const octalNumber = 0o777;   // 511

另外,現(xiàn)在模板字面量中的反斜杠也可以用來轉(zhuǎn)義特殊字符了,而不僅僅是轉(zhuǎn)義模板中的反引號和美元符號了。

const name = 'Alice';
console.log(`My name is \`${name}\`.`);
// "My name is `Alice`."

以上就是ES8中的一些新增功能和優(yōu)化。如果你還沒有使用過ES8,這些新增的特性增強了Javascript的表現(xiàn)力和靈活性,為你的代碼提供便利。