Mitä merkittäviä uusia ominaisuuksia kussakin JavaScript-versiossa oli? Mihin versioon minun pitäisi tähdätä?

author
1 minute, 14 seconds Read

Aloitin siis uuden TypeScript-projektin ja mietin, mihin JavaScript / ECMA Script -versioon pitäisi tähdätä. Tällä hetkellä voimme valita ES5:n, ES2015:n, ES2016:n, ES2017:n ja ES2018:n väliltä!

Kaksi tärkeintä asiaa, jotka kannattaa ottaa huomioon JavaScriptin kohdeversiota valittaessa, ovat:

  • Kohdeympäristö – Työpöytäselain? Mobile? NodeJS?
  • Mitä JS-ominaisuuksia tarvitsen – Luokat? Moduulit? Async Functions?

Olemme onneksi Evergreen-selaimen aikakaudella, joten tuki uusimmille ominaisuuksille on erittäin hyvä useimmissa ympäristöissä, mutta aina on kuitenkin tilanteita, joissa käyttäjillä on vanhempia laitteita tai olet jumissa vanhemmassa NodeJS-versiossa.

Yleinen suositukseni tästä syystä on kohdistaa vanhimpaan versioon, jossa on tarvitsemasi ominaisuudet. Näin saat hyvän tasapainon laajan kohdeympäristötuen ja mahtavien uusien ominaisuuksien saatavuuden välille 🙂

Alhaalla olen tehnyt yhteenvedon siitä, mitä näen tärkeimpinä uusina ominaisuuksina, jotka on julkaistu kussakin ECMA Script -versiossa. Kattavan luettelon sekä täydelliset tiedot kohdeympäristötuesta saat Kangaxin mahtavasta yhteensopivuustaulukosta.

ES5 (2009)

  • Tämä on JS:n perusversio, jonka voi yleensä olettaa tukevan kaikkia ajo-ohjelmia (paitsi todella vanhoja!).

ES6 / ES2015

  • Standardimoduulit – import ja export
  • Standardisoidut lupaukset
  • Luokat & Perinnöllisyys
  • Block-scoped variables – letja const
  • Template Literals
  • Objektien tuhoutuminen muuttujiksi
  • Generator-funktiot
  • Map- ja Set-tietorakenteet
  • Internationalisointi merkkijonoille, Numbers and Dates via Intl API

ES7 / ES2016

  • Array.includes()
  • Numeerinen eksponentti (potenssi) -operaattori **

ES8 / ES2017

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

ES9 / ES2018

  • Object Rest/Spread const obj = { ...props };
  • Asynkroninen iterointi for await (...) {
  • Promise finally() function
  • Regulaaristen lausekkeiden parannukset (lookbehind, nimetyt ryhmät)

Similar Posts

Vastaa

Sähköpostiosoitettasi ei julkaista.