által Sanket Meghani
az ECMAScript 2015 (más néven ES6) megjelenése óta hatalmas új funkciókat vezetett be. Ezek közé tartoznak a nyíl funkciók, készletek, térképek, osztályok és destructuring, és még sok más. Sok szempontból az ES2015 szinte olyan, mint a JavaScript új verziójának megtanulása.
az Ecma Műszaki Bizottság 39 szabályozza az ECMA specifikációt. Úgy döntöttek, hogy 2015-től kezdődően minden évben kiadják az ECMAScript új verzióját. Az éves frissítés azt jelenti, hogy nincs több olyan nagy kiadás, mint az ES6.
az ECMAScript 2016 csak két új funkciót vezetett be:
- tömb.prototípus.tartalmazza ()
- Hatványozó operátor
tömb.prototípus.tartalmazza()
Array.prototype.includes()
ellenőrzi a tömb a value
telt el, mint egy argument
. true
értéket ad vissza, ha a tömb tartalmazza a value
értéket, különben false
értéket ad vissza.
korábban a Array.prototype.indexOf()
használatával kellett ellenőriznünk, hogy az adott tömb tartalmaz-e elemet vagy sem.
let numbers = ;
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()
kezeli NaN
jobb, mint Array.prototype.indexOf()
. Ha a tömb NaN
– t tartalmaz, akkor a indexOf()
nem ad vissza helyes indexet a NaN
keresése közben.
Array.prototype.includes()
a NaN
keresésekor a helyes értéket adja vissza.
NaN
a JavaScript globális objektum egyik tulajdonsága, amely nem-a-szám értéket képvisel. Vannak ismert furcsaságok, amikor összehasonlítjuk a NaN
értéket egy másik értékkel. Ezekkel a Array.prototype.includes()
foglalkozik, de a Array.protoype.indexOf
nem.
let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true
Exponenciációs operátor
a JavaScript már számos aritmetikai operátort támogat, mint például a +, -, *
vagy több.
az ECMAScript 2016 bevezette az exponenciációs operátort, **
.
ugyanaz a célja, mint a Math.pow()
. Visszaadja az első felvetett érvet a második érv erejéhez.
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ókhoz.
előretekintve az ECMA2017-et ez év júniusában véglegesítették. Az új funkciók közé tartozik a async/await
, SharedArrayBuffer
és néhány hasznos módszer a Object.prototype
– hoz.