<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          即將到來(lái)的ECMAScript 2022

          共 1762字,需瀏覽 4分鐘

           ·

          2021-09-07 22:56

          前言

          ES2021 或 ES12 在今年夏天早些時(shí)候發(fā)布(具體的ES2021新特性,可以查看這里),現(xiàn)在我們來(lái)看看ES2022 會(huì)帶來(lái)什么有意思的新特性

          在本文中中將介紹并解釋在規(guī)范的最新草案中已被接受的提案

          ?

          注:每個(gè)特性提案都遵循一個(gè)過(guò)程,在這個(gè)過(guò)程中,它經(jīng)歷了不同的階段,直到stage 4,這表明新增功能已準(zhǔn)備好包含在正式的 ECMAScript 標(biāo)準(zhǔn)中,并將包含在最快的實(shí)用標(biāo)準(zhǔn)修訂版中。以下功能已經(jīng)完成,處于stage 4并已添加到ECMAScript 最新草案中。

          ?

          聲明類的字段

          ?

          到目前為止,在ES規(guī)范中,類的字段定義和初始化是在類的構(gòu)造函數(shù)中完成的。但是在新的提案中,類字段可以在類的頂層被定義和初始化

          ?

          私有方法和字段

          ?

          #前綴來(lái)定義類的私有方法和字段。

          ?

          類的靜態(tài)公共方法和字段

          ?

          在之前的類的字段和私有方法提案的基礎(chǔ)上,為JavaScript類增加了靜態(tài)公共字段靜態(tài)私有方法靜態(tài)私有字段的特性。

          ?

          正則匹配索引

          ?

          該提案提供了一個(gè)新的/dflag,以獲得關(guān)于輸入字符串中每個(gè)匹配的開(kāi)始和索引位置結(jié)束的額外信息。

          ?

          舉個(gè)例子:

          ?

          注:包含 begin,但不包含 end

          ?

          Top-level await

          ?

          頂層的await允許在異步函數(shù)之外使用await關(guān)鍵字。這個(gè)提案允許模塊當(dāng)做大型異步函數(shù),所以這些ECMAScript模塊可以等待資源加載,這樣其他導(dǎo)入這些模塊的模塊在開(kāi)始執(zhí)行自己的代碼之前也要等待資源加載完再去執(zhí)行

          ?

          檢測(cè)私有字段

          當(dāng)我們?cè)噲D訪問(wèn)一個(gè)沒(méi)有被聲明的公共字段時(shí),會(huì)得到未定義的結(jié)果,同時(shí)訪問(wèn)私有字段會(huì)拋出一個(gè)異常。我們根據(jù)這兩個(gè)行為來(lái)判斷是否含有公共字段和私有字段。但是這個(gè)建議引入了一個(gè)更有趣的解決方案,它包括使用in操作符如果指定的屬性/字段在指定的對(duì)象/類中,則返回真,并且也能判斷私有字段

          在所有內(nèi)置的可索引數(shù)據(jù)上新增.at()方法

          新增一個(gè)新的數(shù)組方法,通過(guò)給定的索引來(lái)獲取一個(gè)元素。當(dāng)給定的索引為正數(shù)時(shí),這個(gè)新方法的行為與使用括號(hào)符號(hào)的訪問(wèn)相同,但是當(dāng)我們給定一個(gè)負(fù)整數(shù)的索引時(shí),它就像python的 "負(fù)數(shù)索引 "一樣工作,這意味著at()方法以負(fù)整數(shù)為索引,從數(shù)組的最后一項(xiàng)往后數(shù)。所以該方法可以被執(zhí)行為array.at(-1),它的行為與array[array.length-1]相同,在下面的例子中可以看到

          Object.hasOwn(object, property)

          簡(jiǎn)單講就是使用Object.hasOwn來(lái)替代Object.prototype.hasOwnProperty.call(太長(zhǎng)了,不好看)

          ECMAScript類靜態(tài)初始化塊

          類靜態(tài)塊提議提供了一種優(yōu)雅的方式,在類聲明/定義期間評(píng)估靜態(tài)初始化代碼塊,可以訪問(wèn)類的私有字段

          ?

          注:Typescript4.4也做了支持

          ?

          參考文獻(xiàn)

          • https://github.com/tc39/proposals/blob/master/finished-proposals.md
          • https://2ality.com/2021/09/class-static-block.html
          • https://tc39.es/process-document/
          • https://tc39.es/ecma262/
          • https://v8.dev/features/top-level-await
          • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/matchAll
          • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at
          • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static


          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲社区电影 | 免费黄视频网站大全免费 | 国产A V一区二区三区 | 色综合天天干 | 日韩AV高清 |