door Sanket Meghani
sinds ECMAScript 2015 (ook bekend als ES6) werd uitgebracht, heeft het een enorme reeks nieuwe functies geïntroduceerd. Ze omvatten pijl functies, sets, kaarten, klassen en destructing, en nog veel meer. In veel opzichten, ES2015 is bijna als het leren van een nieuwe versie van JavaScript.
Ecma Technical Committee 39 regelt de ECMA-specificatie. Ze besloten om een nieuwe versie van ECMAScript elk jaar vanaf 2015. Een jaarlijkse update betekent geen grote releases zoals ES6 meer.
ECMAScript 2016 introduceerde slechts twee nieuwe functies:
- Array.prototype.omvat ()
- exponentiatie-operator
Array.prototype.omvat()
Array.prototype.includes()
controleert de array voor de value
doorgegeven als een argument
. Het geeft true
terug als de array value
bevat, anders geeft het false
terug.
voorheen moesten we Array.prototype.indexOf()
gebruiken om te controleren of de gegeven array een element bevat of niet.
let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}
met ECMA2016 kunnen we schrijven:
if(numbers.includes(2)) { console.log('Array contains value');}
Array.prototype.includes()
handvatten NaN
beter dan Array.prototype.indexOf()
. Als de array NaN
bevat, geeft indexOf()
geen correcte index terug tijdens het zoeken naar NaN
.
Array.prototype.includes()
geeft de juiste waarde terug bij het zoeken naar NaN
.
NaN
is een eigenschap van het globale object JavaScript en vertegenwoordigt een waarde die geen-A-getal is. Er zijn bekende eigenaardigheden wanneer NaN
wordt vergeleken met een andere waarde. Deze worden behandeld in Array.prototype.includes()
, maar niet in Array.protoype.indexOf
.
let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true
Exponentiation Operator
JavaScript ondersteunt al veel rekenkundige operatoren zoals +, -, *
en meer.
ECMAScript 2016 introduceerde de exponentiation operator, **
.
het heeft hetzelfde doel als Math.pow()
. Het geeft het eerste argument terug aan de macht van het tweede argument.
let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81
conclusie
nieuwe functies geïntroduceerd door ECMA2016 bieden handige alternatieven voor bestaande functionaliteiten.
vooruitblikkend werd ECMA2017 in juni van dit jaar afgerond. Nieuwe functies zijn async/await
, SharedArrayBuffer
en enkele nuttige methoden voor Object.prototype
.