Vi presenterar de nya funktionerna som ECMAScript 2016 (ES7) lägger till JavaScript

av Sanket Meghani

sedan ECMAScript 2015 (även känd som ES6) släpptes har den introducerat en enorm uppsättning nya funktioner. De inkluderar pilfunktioner, uppsättningar, kartor, klasser och destruktion och mycket mer. På många sätt är ES2015 nästan som att lära sig en ny version av JavaScript.

Ecma Technical Committee 39 styr ECMA-specifikationen. De bestämde sig för att släppa en ny version av ECMAScript varje år från och med 2015. En årlig uppdatering innebär inga fler stora utgåvor som ES6.

ECMAScript 2016 introducerade bara två nya funktioner:

  • Array.prototypstadiet.inkluderar ()
  • exponentiering operatör

Array.prototypstadiet.inkluderar()

Array.prototype.includes() kontrollerar arrayen för value som skickas som en argument. Den returnerar true om matrisen innehåller value, annars returnerar den false.

tidigare behövde vi använda Array.prototype.indexOf() för att kontrollera om den givna arrayen innehåller ett element eller inte.

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

med ECMA2016 kan vi skriva:

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

Array.prototype.includes() hanterar NaNbättre än Array.prototype.indexOf(). Om matrisen innehåller NaN, returnerar indexOf() inte ett korrekt index när du söker efter NaN.

Array.prototype.includes() returnerar rätt värde när du söker efter NaN.

NaN är en egenskap hos JavaScript global object och representerar ett värde som inte är ett tal. Det finns kända egenskaper när man jämför NaN med ett annat värde. Dessa behandlas i Array.prototype.includes() , men inte i Array.protoype.indexOf.

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

Exponentieringsoperatör

JavaScript stöder redan många aritmetiska operatörer som +, -, * och mer.

ECMAScript 2016 introducerade exponentieringsoperatören, **.

den har samma syfte som Math.pow(). Det returnerar det första argumentet som tagits upp till kraften i det andra argumentet.

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

slutsats

nya funktioner som introducerades av ECMA2016 ger praktiska alternativ till befintliga funktioner.

ser framåt, ECMA2017 slutfördes i Juni i år. Nya funktioner inkluderar async/await, SharedArrayBufferoch några användbara metoder för att Object.prototype.

Lämna ett svar

Din e-postadress kommer inte publiceras.