ECMAScript 2020, zadnjo različico uradne specifikacije, na kateri temelji JavaScript, je uradno odobril ECMA International in tehnični odbor ECMA, ki je nadziral specifikacijo, 16. junija.
ECMAScript 2020 uvaja več funkcij, od novihuvoz ()
objekt za nalaganje modulov na novoBigInt
tip za delo s poljubno natančnimi celimi števili.
Posebne funkcije, ki jih uvaja ECMAScript 2020, vključujejo:
- "Funkcionalni"
uvoz ()
sintaksa nalaganja modulov za asinhroni uvoz modulov z dinamičnim specifikatorjem. Predlog dodajauvoz (specifikator)
skladenjska oblika, ki v mnogih pogledih deluje kot funkcija. Vrne obljubo za objekt imenskega prostora modula zahtevanega modula, ustvarjen po pridobivanju, instanciranju in ocenjevanju odvisnosti modula, skupaj s samim modulom. Thespecifikator
se bo razlagalo enako kot vuvoz
izjavo. Medtemspecifikator
je niz, ni nujno, da je dobesedno; tako kodo všečuvoz (`./language-packs / $ {navigator.language} .js`)
bo delovalo. To običajno ni bilo mogočeuvoz
izjave. Z načrtomuvoz ()
je predlagano za delo tako v modulih kot v skriptih, kar skriptni kodi omogoča enostavno asinhrono vstopno točko v svet modulov in ji omogoča, da začne izvajati modulno kodo. BigInt,
novo primitivno število za delo s poljubnimi natančnimi celimi števili.BigInt
lahko predstavlja številke, večje od dveh do 53. stopnje, največje število JavaScript lahko zanesljivo predstavlja zŠtevilka
primitivno. ABigInt
je ustvarjen z dodajanjemn
na konec celotnega števila ali s klicem konstruktorja.- The
matchAll
metoda za nize, da ustvari iterator za vse ujemajoče se predmete, ki jih generira globalni regularni izraz. Utemeljitev tega predloga je, da če ima razvijalec niz in je lepljiv ali splošen regularni izraz z več skupinami za zajemanje, bo razvijalec morda želel ponoviti vsa ujemanja, za katera trenutno obstaja več možnosti, vendar z omejitvami.String # matchAll
naslavlja težave tako, da omogoča dostop do vseh zajemnih skupin in ne vidno mutira zadevni predmet regularnega izraza. Promise.allSettled
, nov kombinator Promise, ki ne povzroči kratkega stika. To vrne obljubo, ki je izpolnjena z vrsto posnetkov stanja obljub, vendar šele potem, ko so prvotne obljube poravnane, tj. Bodisi izpolnjene bodisi zavrnjene.globalno
, ki zagotavlja univerzalen način dostopa do globalnegato
vrednost.- Predan
izvoz * kot ns iz 'modula'
sintaksa za uporabo znotraj modulov. - Povečana standardizacija
za-v
enumeration order, delno določa enumeration order v JavaScript. import.meta,
gostiteljsko naseljen objekt v modulih, ki lahko vsebuje kontekstne informacije. Ta služi kot metalastnost JavaScript, ki vsebuje metapodatke o trenutnem modulu, specifične za gostitelja.- Nullish coalescing, operater za izbiro vrednosti za boljše obravnavanje primerov, ki vključujejo dostop do lastnine. Je sintaksna funkcija za izboljšanje dela z „ničelnimi“ vrednostmi (
nič
ali nedoločeno). - Izbirno veriženje, operater dostopa do lastnosti in klica funkcije, ki bo povzročil kratek stik, če je vrednost za dostop / priklic nična.
Zadnja posodobitev ECMAScripta, ECMAScript 2019, je imela funkcije, kot so prototype.flatMap
za ugnezdena polja.