Jaké hlavní nové funkce přinesly jednotlivé verze JavaScriptu? Na jakou verzi se mám zaměřit?

author
1 minute, 44 seconds Read

Začínám nový projekt v jazyce TypeScript a přemýšlím, na jakou verzi JavaScriptu / ECMA Script se zaměřit. V současné době si můžeme vybrat z ES5, ES2015, ES2016, ES2017 a ES2018!

Při výběru cílové verze JavaScriptu je třeba zvážit dvě hlavní věci:

  • Cílové prostředí – desktopový prohlížeč? Mobilní prohlížeč? NodeJS?
  • Jaké funkce JS potřebuji – Třídy? Moduly? Asynchronní funkce?

Máme to štěstí, že se nacházíme v době Evergreen Browseru, takže podpora nejnovějších funkcí je ve většině prostředí velmi dobrá, nicméně vždy se vyskytnou situace, kdy uživatelé mají starší zařízení nebo jste uvízli na starší verzi NodeJS.

Z tohoto důvodu je mé obecné doporučení zaměřit se na nejstarší verzi, která má funkce, které potřebujete. Tím dosáhnete dobré rovnováhy mezi širokou podporou cílového prostředí a přístupem k úžasným novým funkcím 🙂

Níže jsem shrnul, co považuji za hlavní nové funkce vydané v jednotlivých verzích ECMA Script. Úplný seznam, stejně jako všechny podrobnosti o podpoře cílových prostředí, najdete v Kangaxově úžasné tabulce kompatibility.

ES5 (2009)

  • Jedná se o základní verzi JS, u které lze obecně předpokládat, že ji budou podporovat všechna běhová prostředí (kromě těch opravdu starých!).

ES6 / ES2015

  • Standardní moduly – import a export
  • Standardizované přísliby
  • Třídy & Dědičnost
  • Bloky.rozsah proměnných – leta const
  • Šablona Literals
  • Destrukce objektu do proměnných
  • Generátor funkcí
  • Datové strukturyMap a Set
  • Internacionalizace pro řetězce, Čísla a data prostřednictvím Intl API

ES7 / ES2016

  • Array.includes()
  • Operátor číselného exponentu (mocniny) **

ES8 / ES2017

  • Asynchronní funkce
  • Objekt.entries
  • Funkce pro vyplňování řetězců

ES9 / ES2018

  • Object Rest/Spread const obj = { ...props };
  • Asynchronní iterace for await (...) {
  • Promise finally() funkce
  • Regulární vylepšení výrazů (lookbehind, pojmenované skupiny)

.

Similar Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.