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
, SharedArrayBuffer
og nogle nyttige metoder til Object.prototype
.