Welke belangrijke nieuwe functies zaten er in elke JavaScript-versie? Op welke versie moet ik me richten?

author
1 minute, 25 seconds Read

Ik ben een nieuw TypeScript-project begonnen en vroeg me af op welke JavaScript- / ECMA Script-versie ik me moet richten. Momenteel kunnen we kiezen uit ES5, ES2015, ES2016, ES2017 en ES2018!

De twee belangrijkste dingen die u moet overwegen bij het selecteren van uw JavaScript-doelversie zijn:

  • Doelomgeving – Desktopbrowser? Mobiel? NodeJS?
  • Welke JS-functies heb ik nodig – Klassen? Modules? Async Functions?

We hebben het geluk dat we in het tijdperk van de Evergreen Browser zitten, dus ondersteuning voor de nieuwste functies is erg goed in de meeste omgevingen, maar er zijn altijd situaties waarin gebruikers oudere apparaten hebben, of je zit vast aan een oudere versie van NodeJS.

Om deze reden is mijn algemene aanbeveling om je te richten op de oudste versie die de functies heeft die je nodig hebt. Dit geeft een goede balans tussen brede doelomgeving ondersteuning en toegang tot geweldige nieuwe functies 🙂

Hieronder heb ik samengevat wat ik zie als de belangrijkste nieuwe functies die in elke ECMA Script-versie zijn vrijgegeven. Voor een uitgebreide lijst en alle details over de ondersteuning van doelomgevingen kunt u de geweldige compatibiliteitstabel van Kangax raadplegen.

ES5 (2009)

  • Dit is de basisversie van JS waarvan over het algemeen kan worden aangenomen dat alle run-times (behalve de echt oude!) deze zullen ondersteunen.

ES6 / ES2015

  • Standaardmodules – import en export
  • Gestandaardiseerde beloften
  • Klassen &Erfenis
  • Blok-scoped variabelen – leten const
  • Template Literals
  • Object destructing into variabelen
  • Generator functies
  • Map en Set data structuren
  • Internationalisatie voor Strings, Nummers en Data via Intl API

ES7 / ES2016

  • Array.includes()
  • Numerieke exponent (macht van) operator **

ES8 / ES2017

  • Async Functies
  • Object.entries
  • String padding functions

ES9 / ES2018

  • Object Rest/Spread const obj = { ...props };
  • Asynchrone Iteratie for await (...) {
  • Promise finally() functie
  • Reguliere expressieverbeteringen (lookbehind, named groups)

Similar Posts

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.