Introduktion til de nye funktioner, som ECMAScript 2016 (ES7) tilføjer til JavaScript

af Sanket Meghani

siden ECMAScript 2015 (også kendt som ES6) blev frigivet, har det introduceret et stort sæt nye funktioner. De omfatter pil funktioner, sæt, kort, klasser og destrukturering, og meget mere. På mange måder er ES2015 næsten som at lære en ny version af JavaScript.

Ecma Tekniske Udvalg 39 regulerer ECMA specifikation. De besluttede at frigive en ny version af ECMAScript hvert år startende i 2015. En årlig opdatering betyder ikke flere store udgivelser som ES6.

ECMAScript 2016 introducerede kun to nye funktioner:

  • Array.prototype.inkluderer ()
  • Eksponentieringsoperatør

Array.prototype.inkluderer()

Array.prototype.includes() kontrollerer arrayet for value bestået som en argument. Det returnerer true hvis arrayet indeholder value, ellers returnerer det false.

før skulle vi bruge Array.prototype.indexOf() for at kontrollere, om det givne array indeholder et element eller ej.

let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}

med ECMA2016 kan vi skrive:

if(numbers.includes(2)) { console.log('Array contains value');}

Array.prototype.includes() håndterer NaN bedre end Array.prototype.indexOf(). Hvis arrayet indeholder NaN, returnerer indexOf()ikke et korrekt indeks, mens du søger efter NaN.

Array.prototype.includes() returnerer den korrekte værdi, når du søger efter NaN.

NaN er en egenskab af JavaScript global object og repræsenterer en værdi, der ikke er et tal. Der er kendte særheder, når man sammenligner NaN med en anden værdi. Disse er adresseret i Array.prototype.includes(), men ikke i Array.protoype.indexOf.

let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true

Eksponentieringsoperator

JavaScript understøtter allerede mange aritmetiske operatører som +, -, * og mere.

ECMAScript 2016 introducerede eksponentieringsoperatøren, **.

det har samme formål som Math.pow(). Det returnerer det første argument rejst til kraften i det andet argument.

let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81

konklusion

nye funktioner introduceret af ECMA2016 giver praktiske alternativer til eksisterende funktionaliteter.

ser fremad, ECMA2017 blev afsluttet i Juni i år. Nye funktioner omfatter async/await, SharedArrayBufferog nogle nyttige metoder til Object.prototype.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.