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