Pristatome naujas funkcijas, kurias „ECMAScript 2016“ (ES7) prideda prie „JavaScript“

Nuo tada, kai buvo išleistas „ECMAScript 2015“ (dar vadinamas ES6), jis pristatė didžiulį naujų funkcijų rinkinį. Jie apima rodyklių funkcijas, rinkinius, žemėlapius, klases ir pertvarkymą ir daug daugiau. Daugeliu atžvilgių ES2015 yra beveik kaip išmokti naują „JavaScript“ versiją.

„ECMA“ techninis komitetas 39 reglamentuoja ECMA specifikacijas. Jie nusprendė išleisti naują ECMAScript versiją kiekvienais metais, pradedant nuo 2015 m. Kasmetinis atnaujinimas reiškia, kad nebėra didelių leidimų, tokių kaip ES6.

„ECMAScript 2016“ pristatė tik dvi naujas funkcijas:

  • Masyvas. Prototipas. Apima ()
  • Eksponacijos operatorius

Masyvas. Prototipas. Apima ()

Array.prototype.includes()patikrina, ar masyvas yra valueperduotas kaip argument. Jis grąžinamas, truejei masyve yra value, kitaip, jis grįš false.

Prieš tai turėjome naudoti Array.prototype.indexOf()norėdami patikrinti, ar pateiktame masyve yra elementas, ar ne.

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

Su ECMA2016 galime parašyti:

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

Array.prototype.includes()susitvarko NaNgeriau nei Array.prototype.indexOf(). Jei masyve yra NaN, indexOf()ieškant jis negrąžina teisingo indekso NaN.

Array.prototype.includes()pateikia teisingą reikšmę ieškant NaN.

NaNyra visuotinio „JavaScript“ objekto ypatybė ir reiškia vertę, kuri nėra skaičius. Yra žinomų keistenybių lyginant NaNsu kita verte. Į juos kalbama Array.prototype.includes(), bet ne Array.protoype.indexOf.

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

Eksponacijos operatorius

„JavaScript“ jau palaiko daugybę panašių aritmetikos operatorių +, -, *.

ECMAScript 2016 pristatė eksponavimo operatorių **,.

Jis turi tą patį tikslą kaip Math.pow(). Tai grąžina pirmąjį iškeltą argumentą į antrojo argumento galią.

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

Išvada

„ECMA2016“ pristatytos naujos funkcijos suteikia patogias esamų funkcijų alternatyvas.

Žvelgiant į ateitį, ECMA2017 buvo baigta rengti šių metų birželį. Naujos funkcijos apima async/await, SharedArrayBufferir keletas naudingų metodų į Object.prototype.