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 value
läpäistyn matriisin argument
. Se palaa, true
jos 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 NaN
paremmin 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
.
NaN
on JavaScriptin globaalin objektin ominaisuus ja edustaa arvoa, joka ei ole luku. Tunnetaan omituisuuksia, kun verrataan NaN
toiseen 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
, SharedArrayBuffer
ja hyödyllisiä menetelmiä Object.prototype
.