ECMA International ja spesifikaatiota valvova ECMA: n tekninen komitea hyväksyi virallisesti ECMAScript 2020: n, joka on JavaScriptin taustalla olevan virallisen eritelmän myöhäinen versio, 16. kesäkuuta.
ECMAScript 2020 tuo käyttöön useita ominaisuuksia uudestatuonti()
mahdollisuus moduulien lataamiseen uuteenIsoInt
tyyppi mielivaltaisten tarkkuuslukujen kanssa työskentelyyn.
ECMAScript 2020: n erityispiirteitä ovat:
- "Toimintamainen"
tuonti()
moduulien lataussyntaksi tuoda moduulit asynkronisesti dynaamisen määrittelijän avulla. Ehdotukseen lisätääntuonti (määrittelijä)
syntaktinen muoto, joka toimii monin tavoin kuin funktio. Se palauttaa vaaditun moduulin moduulin nimitilaobjektille lupauksen, joka luodaan moduulin riippuvuuksien noutamisen, instantisoinnin ja arvioinnin jälkeen, sekä itse moduulin.määrittelijä
tulkitaan samalla tavalla kuintuonti
vakuutus. Sillä aikaamäärittelijä
on merkkijono, se ei välttämättä ole merkkijonon kirjaimellinen; siis koodaa kutentuonti (`./kielipaketit / $ {navigator.kieli} .js`)
toimii. Tämä ei ollut mahdollista tavallisella tavallatuonti
ilmoitukset. Suunnitelman kanssatuonti()
ehdotetaan toimivan sekä moduuleina että komentosarjoina, mikä antaa komentokoodille helpon asynkronisen sisäänkäynnin moduulimaailmaan ja antaa sen aloittaa moduulikoodin suorittamisen. IsoInt,
uusi primitiivinen luku mielivaltaisten tarkkuuslukujen kanssa työskentelyyn.IsoInt
voi edustaa lukuja, jotka ovat suurempia kuin kaksi 53. voimaan, suurin luku JavaScript voi luotettavasti edustaaMäärä
primitiivinen. AIsoInt
luodaan liittämällän
kokonaisluvun loppuun tai soittamalla konstruktorille.-
otteluKaikki
merkkijonojen menetelmä iteraattorin tuottamiseksi kaikille yleisen säännöllisen lausekkeen luomille vastaaville kohteille. Tämän ehdotuksen taustalla on, että jos kehittäjällä on merkkijono ja joko tahmea tai globaali säännöllinen lauseke, jossa on useita sieppausryhmiä, kehittäjä saattaa haluta toistaa kaikki ottelut, joille on tällä hetkellä useita vaihtoehtoja, mutta rajoituksin.Merkkijono # matchAll
ratkaisee ongelmat tarjoamalla pääsyn kaikille sieppausryhmille eikä mutatoimalla näkyvää kyseistä säännöllisen lausekkeen objektia. Promise.all rauhoittunut
, uusi Promise-yhdistin, joka ei oikosulku. Tämä palauttaa lupauksen, joka täyttyy joukolla lupaustilannekuvia, mutta vasta sen jälkeen, kun alkuperäiset lupaukset ovat täyttyneet, ts. Ne on joko toteutettu tai hylätty.globaaliTämä
, joka tarjoaa yleismaailmallisen tavan päästä maailmanlaajuisestiTämä
arvo.- Omistettu
vie * ns-muodossa moduulista
syntaksia käytettäväksi moduuleissa. - Lisääntynyt standardointi
sisään-sisään
luettelointijärjestys, määrittelemällä osittain JavaScriptin luettelointijärjestys. import.meta,
isäntäkohtainen objekti moduuleissa, joka voi sisältää asiayhteyteen liittyviä tietoja. Tämä toimii JavaScript-metaproperty-ominaisuutena, joka pitää isäntäkohtaisia metatietoja nykyisestä moduulista.- Nullish coalescing, arvon valintaoperaattori, joka parantaa kiinteistöjen käyttöoikeuksien käsittelyä. Se on syntaksitoiminto, jolla parannetaan ”tyhjien” arvojen käyttöä (
tyhjä
tai määrittelemätön). - Valinnainen ketjutus, ominaisuuskäyttö- ja toimintokutsuoperaattori, joka oikosulku, jos pääsy / kutsuttava arvo on tyhjä.
Viimeisin päivitys ECMAScriptiin, ECMAScript 2019, sisälsi ominaisuuksia, kuten prototyyppi.flatMap
sisäkkäisiin ryhmiin.