Bemutatjuk azokat az új szolgáltatásokat, amelyeket az ECMAScript 2016 (ES7) hozzáad a JavaScript-hez

Az ECMAScript 2015 (más néven ES6) megjelenése óta hatalmas új funkciókkal gazdagodott. Tartalmazzák a nyílfüggvényeket, halmazokat, térképeket, osztályokat és destruktúrákat, és még sok minden mást. Az ES2015 sok szempontból szinte olyan, mint a JavaScript új verziójának megtanulása.

Az ECMA 39 specifikációját az Ecma Technical Committee 39 szabályozza. Úgy döntöttek, hogy 2015-től minden évben kiadják az ECMAScript új verzióját. Az éves frissítés nem jelent több nagy kiadást, mint az ES6.

Az ECMAScript 2016 csak két új funkciót vezetett be:

  • Az Array.prototype.includes ()
  • Hatványozási operátor

Az Array.prototype.includes ()

Array.prototype.includes()valuemint tömböt ellenőrzi a továbbított tömböt argument. Akkor tér vissza, trueha a tömb tartalmazza az valueellenkezőjét false.

Előtte Array.prototype.indexOf()ellenőriznünk kellett, hogy az adott tömb tartalmaz-e elemet vagy sem.

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

Az ECMA2016 segítségével írhatunk:

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

Array.prototype.includes()NaNjobban kezeli , mint Array.prototype.indexOf(). Ha a tömb tartalmaz NaN, akkor indexOf()a keresés során nem ad vissza megfelelő indexet NaN.

Array.prototype.includes()a helyes értéket adja vissza a keresés során NaN.

NaNa JavaScript globális objektum tulajdonsága, és olyan értéket képvisel, amely nem szám. Ismert furcsaságok, ha összehasonlítjuk NaNegy másik értékkel. Ezekkel foglalkozunk Array.prototype.includes(), de nem Array.protoype.indexOf.

let numbers = [1, 2, 3, 4, NaN];
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true

Hatványozási operátor

A JavaScript már számos számtani operátort támogat +, -, *.

ECMAScript 2016 bevezette hatványozást, **.

Ugyanaz a célja, mint Math.pow(). Visszaadja az első érvet a második érv erejéig.

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

Következtetés

Az ECMA2016 által bevezetett új funkciók kényelmes alternatívákat kínálnak a meglévő funkciókkal szemben.

A jövőre nézve az ECMA2017 ez év júniusában készült el. Az új funkciók közé async/await, SharedArrayBufferés néhány hasznos módszereket Object.prototype.