Milyen főbb újdonságok voltak az egyes JavaScript verziókban? Melyik verziót célozzam meg?

author
1 minute, 41 seconds Read

Egy új TypeScript projektet indítottam, és azon gondolkodtam, hogy melyik JavaScript / ECMA Script verziót célozzam meg. Jelenleg az ES5, ES2015, ES2016, ES2017 és ES2018 közül választhatunk!

A JavaScript célverzió kiválasztásakor két fontos dolgot kell figyelembe venni:

  • Célkörnyezet – asztali böngésző? Mobil? NodeJS?
  • Milyen JS funkciókra van szükségem – Osztályok? Modulok? Async Functions?

Szerencsések vagyunk, hogy az Evergreen Browser korában élünk, így a legújabb funkciók támogatása nagyon jó a legtöbb környezetben, azonban mindig vannak olyan helyzetek, amikor a felhasználóknak régebbi eszközeik vannak, vagy a NodeJS egy régebbi verziójánál ragadtunk.

Emiatt az általános ajánlásom az, hogy a legrégebbi verziót célozzuk meg, amely rendelkezik a szükséges funkciókkal. Ez jó egyensúlyt biztosít a széleskörű célkörnyezet-támogatás és a félelmetes új funkciókhoz való hozzáférés között 🙂

Az alábbiakban összefoglaltam, hogy szerintem melyek a legfontosabb új funkciók, amelyeket az egyes ECMA Script-verziókban kiadtak. Az átfogó listát, valamint a célkörnyezet-támogatás teljes részleteit lásd Kangax fantasztikus kompatibilitási táblázatában.

ES5 (2009)

  • Ez a JS alapverziója, amelyről általában feltételezhető, hogy minden futtatórendszer (kivéve a nagyon régieket!) támogatja.

ES6 / ES2015

  • Szabványos modulok – import és export
  • Szabványos ígéretek
  • osztályok &öröklődés
  • blokk-scoped variables – letés const
  • Template Literals
  • Object destructing into variables
  • Generator functions
  • Map and Set data structures
  • Internacionalization for Strings, Számok és dátumok Intl API-n keresztül

ES7 / ES2016

  • Array.includes()
  • Numerikus exponens (hatvány) operátor **

ES8 / ES2017

  • Async Functions
  • Object.entries
  • String padding functions

ES9 / ES2018

  • Object Rest/Spread const obj = { ...props };
  • Asynchronous Iteration for await (...) {
  • Promise finally() function
  • Regular expression enhancements (lookbehind, named groups)

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.