
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()
value
mint tömböt ellenőrzi a továbbított tömböt argument
. Akkor tér vissza, true
ha a tömb tartalmazza az value
ellenkező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()
NaN
jobban 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
.
NaN
a JavaScript globális objektum tulajdonsága, és olyan értéket képvisel, amely nem szám. Ismert furcsaságok, ha összehasonlítjuk NaN
egy 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
.