Programování

Specifikace ECMAScript 2020 pro JavaScript schválena

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 v import prohlášení. Zatímco specifikátor je řetězec, nemusí to být nutně řetězcový literál; tedy kód jako import (`./language-packs / $ {navigator.language} .js`) bude pracovat. To nebylo možné obvyklým způsobem import prohlášení. S plánem import() 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í. A BigInt je vytvořen připojením n 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ím tento 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.

$config[zx-auto] not found$config[zx-overlay] not found