Vilka viktiga nya funktioner fanns i varje JavaScript-version? Vilken version ska jag sikta på?

author
1 minute, 32 seconds Read

Jag startade ett nytt TypeScript-projekt och undrade vilken version av JavaScript/ECMA Script jag skulle sikta på. Vi kan för närvarande välja mellan ES5, ES2015, ES2016, ES2017 och ES2018!

De två viktigaste sakerna att tänka på när du väljer din JavaScript-målversion är:

  • Målmiljö – skrivbordswebbläsare? Mobiltelefon? NodeJS?
  • Vilka JS-funktioner behöver jag – klasser? Moduler? Async-funktioner?

Vi har turen att befinna oss i Evergreen Browser-åldern, så stödet för de senaste funktionerna är mycket bra i de flesta miljöer, men det finns alltid situationer när användarna har äldre enheter, eller när du sitter fast i en äldre version av NodeJS.

Därför är min allmänna rekommendation att rikta in dig på den äldsta versionen som har de funktioner du behöver. Detta ger en bra balans mellan stöd för en bred målmiljö och tillgång till fantastiska nya funktioner 🙂

Nedan har jag sammanfattat vad jag ser som de viktigaste nya funktionerna som släppts i varje ECMA Script-version. För en fullständig lista och fullständiga uppgifter om stöd för målmiljöer, se Kangax fantastiska kompatibilitetstabell.

ES5 (2009)

  • Detta är den baslinjeversion av JS som man i allmänhet kan anta att alla körsystem (utom riktigt gamla!) kommer att ha stöd för.

ES6 / ES2015

  • Standardiserade moduler – import och export
  • Standardiserade löften
  • Klasser & Arv
  • Block-scoped variables – letoch const
  • Template Literals
  • Object destructing into variables
  • Generator functions
  • Map and Set data structures
  • Internationalisation for Strings, Tal och datum via Intl API

ES7 / ES2016

  • Array.includes()
  • Numerisk exponentoperatör **

ES8 / ES2017

  • Async-funktioner
  • Object.entries
  • String padding functions

ES9 / ES2018

  • Object Rest/Spread const obj = { ...props };
  • Asynkron Iteration for await (...) {
  • Promise finally() function
  • Förbättringar av regelbundna uttryck (lookbehind, namngivna grupper)

Similar Posts

Lämna ett svar

Din e-postadress kommer inte publiceras.