Esittelyssä uudet ominaisuudet, jotka ECMAScript 2016 (ES7) lisää JavaScriptiin

Sen jälkeen kun ECMAScript 2015 (tunnetaan myös nimellä ES6) julkaistiin, se on ottanut käyttöön valtavan joukon uusia ominaisuuksia. Ne sisältävät nuolitoiminnot, joukot, kartat, luokat ja tuhoamisen sekä paljon muuta. ES2015 on monin tavoin melkein kuin uuden version oppiminen JavaScriptistä.

Ecman tekninen komitea 39 säätelee ECMA: n eritelmiä. He päättivät julkaista uuden version ECMAScriptistä joka vuosi vuodesta 2015 alkaen. Vuosittainen päivitys ei tarkoita enää suuria julkaisuja, kuten ES6.

ECMAScript 2016 esitteli vain kaksi uutta ominaisuutta:

  • Array.prototype.includes ()
  • Eksponentiooperaattori

Array.prototype.includes ()

Array.prototype.includes()tarkistaa valueläpäistyn matriisin argument. Se palaa, truejos taulukko sisältää merkinnän value, muuten se palaa false.

Aikaisemmin meidän oli käytettävä Array.prototype.indexOf()tarkistamaan, sisältääkö annettu taulukko elementin vai ei.

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

ECMA2016: n avulla voimme kirjoittaa:

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

Array.prototype.includes()hoitaa NaNparemmin kuin Array.prototype.indexOf(). Jos taulukko sisältää NaN, indexOf()ei palauta oikeaa hakemistoa haettaessa NaN.

Array.prototype.includes()palauttaa oikean arvon etsittäessä NaN.

NaNon JavaScriptin globaalin objektin ominaisuus ja edustaa arvoa, joka ei ole luku. Tunnetaan omituisuuksia, kun verrataan NaNtoiseen arvoon. Niihin puututaan Array.prototype.includes(), mutta ei Array.protoype.indexOf.

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

Exponentiation Operator

JavaScript tukee jo monia aritmeettisia operaattoreita, kuten +, -, *ja enemmän.

ECMAScript 2016 esitteli eksponentiaation operaattori **.

Sillä on sama tarkoitus kuin Math.pow(). Se palauttaa ensimmäisen argumentin toisen argumentin voimaksi.

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

Johtopäätös

ECMA2016: n tuomat uudet ominaisuudet tarjoavat käteviä vaihtoehtoja olemassa oleville toiminnoille.

Tulevaisuudessa ECMA2017 valmistui tämän vuoden kesäkuussa. Uusia ominaisuuksia ovat async/await, SharedArrayBufferja hyödyllisiä menetelmiä Object.prototype.