2022 年 6 月 22 日,第 123 屆 ECMA 大會(huì)批準(zhǔn)了 ECMAScript 2022 語(yǔ)言規(guī)范,這意味著它現(xiàn)在正式成為標(biāo)準(zhǔn)。我們現(xiàn)在來(lái)看一下最新的ES13的幾大超贊功能:
1. 支持在最外層寫(xiě)await
當(dāng)我們碰到一個(gè)promise的時(shí)候,我們可以使用await來(lái)暫停當(dāng)前代碼的執(zhí)行,等到這個(gè)promise被settled(fulfilled或者rejected)了,我們才繼續(xù)當(dāng)前代碼的執(zhí)行。有個(gè)很頭疼的地方就是一定要在一個(gè)async的函數(shù)里面使用而不能在全局作用域里面使用。ES13出來(lái)后,就舒服多了,可以直接全局寫(xiě)await,無(wú)需在前面包裹async函數(shù)
2. at() 方法來(lái)索引元素
以前要訪(fǎng)問(wèn)數(shù)組倒數(shù)第N個(gè)元素的時(shí)候需要通過(guò)數(shù)組長(zhǎng)度再減去N個(gè)元素來(lái)獲取,而ES13的at()函數(shù)幫你寫(xiě)出更優(yōu)雅的代碼!使用新的new()方法,當(dāng)我們想要訪(fǎng)問(wèn)倒數(shù)第N個(gè)元素時(shí),我們只需要傳入-N給at()即可:
3. Object.hasOwn()來(lái)檢查某個(gè)對(duì)象自身是否擁有某個(gè)屬性
以前我們檢查對(duì)象自身是否擁有某個(gè)屬性通過(guò)Object.prototype.hasOwnProperty()來(lái)實(shí)現(xiàn),但這個(gè)方法是不受保護(hù)的,而且當(dāng)一個(gè)對(duì)象是通過(guò)Object.create(null)創(chuàng)建出來(lái)的具有null原型的對(duì)象時(shí),你想在這個(gè)對(duì)象上面調(diào)用hasOwnProperty這個(gè)方法是會(huì)報(bào)錯(cuò)。ES13的Object.hasOwn()函數(shù)接收兩個(gè)參數(shù),一個(gè)是對(duì)象,一個(gè)是屬性,如果這個(gè)對(duì)象本身就有這個(gè)屬性的話(huà),這個(gè)函數(shù)就會(huì)返回true,否則就返回false,從而方便安全的幫助我們檢查對(duì)象是否擁有某個(gè)屬性
4. findLast()和findLastIndex()從數(shù)組的末端開(kāi)始尋找某個(gè)滿(mǎn)足條件的元素
平時(shí)我們都會(huì)使用find()和findIndex()來(lái)在數(shù)組中找到第一個(gè)滿(mǎn)足某個(gè)條件的元素和位置,但如果知道在數(shù)組后面,想提升性能需要從后面開(kāi)始找的時(shí)候會(huì)比較麻煩,ES13新出的findLast()和findLastIndex()函數(shù)會(huì)從數(shù)組的末端開(kāi)始尋找某個(gè)滿(mǎn)足條件的元素,從而實(shí)現(xiàn)在從后面開(kāi)始查找的時(shí)候性能更大提升。
5. 正則表達(dá)式匹配字符串的時(shí)候支持返回開(kāi)始和結(jié)束索引
之前我們通過(guò)正則查找的時(shí)候只能獲取正則表達(dá)式匹配到的子字符串的開(kāi)始索引,ES13支持在給正則表達(dá)式添加一個(gè)d的標(biāo)記來(lái)讓它在匹配的時(shí)候給我們既返回匹配到的子字符串的起始位置還返回其結(jié)束位置
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://m.oulysa.com/news/6541.html