ECMAScript 2020, nejnovější verze oficiální specifikace založené na JavaScriptu, byla formálně schválena ECMA International a technickou komisí ECMA, která dohlíží na specifikaci, 16. června.
ECMAScript 2020 zavádí několik funkcí od novýchimport()
zařízení pro načítání modulů do novéhoBigInt
typ pro práci s libovolnými přesnými celými čísly.
Mezi konkrétní funkce zavedené programem ECMAScript 2020 patří:
- „Podobný funkci“
import()
syntaxe načítání modulů pro asynchronní import modulů s dynamickým specifikátorem. Návrh přidáváimport (specifikátor)
syntaktická forma, působící mnoha způsoby jako funkce. Vrátí příslib pro objekt oboru názvů modulů požadovaného modulu, vytvořený po načtení, vytvoření instance a vyhodnocení závislostí modulu spolu se samotným modulem. Thespecifikátor
bude vykládán stejným způsobem jako vimport
prohlášení. Zatímcospecifikátor
je řetězec, nemusí to být nutně řetězcový literál; tedy kód jakoimport (`./language-packs / $ {navigator.language} .js`)
bude pracovat. To nebylo možné obvyklým způsobemimport
prohlášení. S plánemimport()
je navrženo pro práci jak v modulech, tak ve skriptech, což dává kódu skriptu snadný asynchronní vstupní bod do světa modulu a umožňuje mu spustit běh kódu modulu. BigInt,
nový primitiv čísla pro práci s libovolnými přesnými celými čísly.BigInt
může představovat čísla větší než dvě až 53. mocninu, největší počet JavaScript může spolehlivě představovat sČíslo
primitivní. ABigInt
je vytvořen připojenímn
na konec celého čísla nebo voláním konstruktoru.- The
matchAll
metoda pro řetězce, k vytvoření iterátoru pro všechny odpovídající objekty generované globálním regulárním výrazem. Důvodem tohoto návrhu je, že pokud má vývojář řetězec a buď lepivý nebo globální regulární výraz s více skupinami zachycení, může vývojář chtít iterovat všemi shodami, pro které aktuálně existuje několik možností, ale s omezeními.Řetězec # matchAll
řeší problémy tím, že poskytuje přístup ke všem zachycujícím skupinám a viditelně nemutuje předmětný regulární výraz. Promise.all Setted
, nový kombinátor příslibů, který nezkratuje. Tím se vrátí slib, který je splněn řadou snímků stavu slibu, ale až poté, co se původní sliby urovnají, tj. Buď byly splněny, nebo odmítnuty.globálníToto
, poskytující univerzální způsob přístupu k globálnímtento
hodnota.- Zasvěcený
exportovat * jako ns z ‘modulu’
syntaxe pro použití v rámci modulů. - Zvýšená standardizace
for-in
pořadí výčtu, částečně určující pořadí výčtu v JavaScriptu. import.meta,
objekt naplněný hostitelem v modulech, který může obsahovat kontextové informace. To slouží jako metaproperty JavaScriptu, obsahující metadata specifická pro hostitele o aktuálním modulu.- Nullish coalescing, operátor výběru hodnoty pro lepší řešení případů týkajících se přístupu k vlastnostem. Jedná se o funkci syntaxe, která zlepšuje práci s „hodnotnými“ hodnotami (
nula
nebo nedefinováno). - Volitelné zřetězení, operátor přístupu k vlastnostem a vyvolání funkce, který zkratuje, pokud je hodnota pro přístup / vyvolání nulová.
Poslední aktualizace ECMAScript, ECMAScript 2019, obsahovala funkce jako např prototyp.flatMap
pro vnořená pole.