Programavimas

„ECMAScript 2020“ patvirtinta „JavaScript“ specifikacija

„ECMAScript 2020“, vėlyvąją oficialios specifikacijos versiją, kuria grindžiama „JavaScript“, oficialiai patvirtino „ECMA International“ ir ECMA techninis komitetas, prižiūrintis specifikaciją, birželio 16 d.

„ECMAScript 2020“ pristato daugybę funkcijų, pradedant naujaimportuoti () galimybė moduliams pakrauti į naująBigInt tipas darbui su savavališkai tiksliais sveikaisiais skaičiais.

„ECMAScript 2020“ pristatomos specifinės savybės:

  • „Į funkciją panašus“ importuoti () modulių įkėlimo sintaksė asinchroniškai importuoti modulius su dinaminiu specifikatoriumi. Pasiūlyme pridedama importuoti (specifikatorius) sintaksinė forma, veikianti daugeliu atžvilgių kaip funkcija. Tai grąžina prašomo modulio modulio vardų objekto pažadą, sukurtą po to, kai gaunamas, iš karto gaunamas ir įvertinamas modulio priklausomumas, kartu su pačiu moduliu.specifikatorius bus aiškinami taip pat, kaip ir importas deklaracija. Nors specifikatorius yra eilutė, tai nebūtinai yra eilutės pažodinis žodis; taigi, koduokite kaip importuoti (`./language-packs / $ {navigator.language} .js`) dirbs. Tai nebuvo įmanoma įprastu būdu importas deklaracijos. Su planu importuoti () siūloma dirbti tiek moduliuose, tiek scenarijuose, suteikiant scenarijaus kodui lengvą asinchroninį patekimo į modulių pasaulį tašką ir leidžiant jam pradėti vykdyti modulio kodą.
  • BigInt, naujas skaičių primityvus darbui su savavališkai tiksliais sveikaisiais skaičiais. BigInt gali žymėti didesnius nei du skaičius iki 53-osios galios, didžiausią skaičių „JavaScript“ gali patikimai pavaizduoti su Skaičius primityvus. A BigInt yra sukurtas pridedant n iki sveiko skaičiaus pabaigos arba paskambinus konstruktoriui.
  • matchAll metodas eilutėms, norint sukurti iteratorių visiems suderintiems objektams, kuriuos sukuria visuotinė reguliarioji išraiška. Šio pasiūlymo pagrindas yra tas, kad jei kūrėjas turi eilutę ir lipnią, arba visuotinę reguliariąją išraišką su keliomis fiksavimo grupėmis, kūrėjas gali norėti pakartoti visas rungtynes, kurioms šiuo metu yra kelios parinktys, tačiau yra apribojimų. Stygos # matchAll sprendžia problemas suteikdami prieigą visoms fiksuojančioms grupėms ir akivaizdžiai nemutifikuodami reguliaraus reiškinio objekto.
  • Pažadas.visiSusitvarkę, naujas „Promise“ kombinatorius, kuriam netrūksta trumpojo jungimo. Tai grąžina pažadą, kuris įvykdomas pažadų būsenos momentinių nuotraukų masyvu, bet tik po to, kai pirminiai pažadai įvykdomi, t. Y. Arba įvykdyti, arba atmesti.
  • globalusTai, suteikiantis universalų prieigos prie pasaulio būdą tai vertė.
  • Atsidavęs eksportuoti * kaip ns iš „modulio“ sintaksė, naudojama moduliuose.
  • Didesnis standartizavimas for-in surašymo tvarka, iš dalies nurodant surašymo tvarką „JavaScript“.
  • import.meta, pagrindinio kompiuterio apgyvendintas objektas moduliuose, kuriame gali būti kontekstinė informacija. Tai tarnauja kaip „JavaScript“ meta nuosavybė, turinti pagrindinio kompiuterio metaduomenis apie dabartinį modulį.
  • Nullish coalescing, vertės parinkimo operatorius, skirtas geriau tvarkyti bylas, susijusias su nuosavybės prieigomis. Tai yra sintaksės funkcija, skirta pagerinti darbą su „niekinėmis“ reikšmėmis (niekinis arba neapibrėžtas).
  • Pasirenkamas grandinės, prieigos prie nuosavybės ir funkcijų iškvietimo operatorius, kuris trumpai sujungs, jei reikšmė prieigai / iškviečiamai yra niekinė.

Paskutiniame „ECMAScript“ atnaujinime „ECMAScript 2019“ buvo tokios galimybės kaip prototipas.flatMap už įdėtus masyvus.