Sanket Meghani
koska ECMAScript 2015 (tunnetaan myös nimellä ES6) julkaistiin, se on ottanut käyttöön valtavan joukon uusia ominaisuuksia. Niihin kuuluvat nuolitoiminnot, sarjat, kartat, luokat ja destructuring sekä paljon muuta. ES2015 on monella tapaa melkein kuin opettelisi uuden version JavaScriptistä.
ECMA tekninen komitea 39 hallitsee ECMA: n eritelmää. He päättivät julkaista uuden version Ecmascriptistä joka vuosi vuodesta 2015 alkaen. Vuosittainen päivitys tarkoittaa, että ES6: n kaltaisia isoja julkaisuja ei enää ole.
ECMAScript 2016 esitteli vain kaksi uutta ominaisuutta:
- asetelma.prototyyppi.sisältää ()
- Eksponenttioperaattori
Array.prototyyppi.sisältää()
Array.prototype.includes()
tarkistaa array value
läpäissyt kuin argument
. Se palaa true
jos array sisältää value
, muuten se palaa false
.
ennen jouduimme käyttämään Array.prototype.indexOf()
: ää tarkistaaksemme, sisältääkö annettu joukko jotakin elementtiä vai ei.
let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}
kanssa ECMA2016, voimme kirjoittaa:
if(numbers.includes(2)) { console.log('Array contains value');}
Array.prototype.includes()
käsittelee NaN
paremmin kuin Array.prototype.indexOf()
. Jos matriisi sisältää NaN
, niin indexOf()
ei palauta oikeaa indeksiä etsiessään NaN
.
Array.prototype.includes()
palauttaa oikean arvon etsittäessä kohdetta NaN
.
NaN
on JavaScript – kokonaisobjektin ominaisuus ja edustaa arvoa, joka ei ole-A-luku. Tunnettuja oikkuja on verrattaessa NaN
toiseen arvoon. Näitä käsitellään Array.prototype.includes()
, mutta ei Array.protoype.indexOf
.
let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true
Eksponentiaatio-operaattori
JavaScript tukee jo monia aritmeettisia operaattoreita, kuten +, -, *
ja enemmän.
ECMAScript 2016 esitteli eksponentiaatio-operaattorin, **
.
sillä on sama tarkoitus kuin Math.pow()
. Se palauttaa ensimmäisen argumentin toisen argumentin voimaan.
let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81
johtopäätös
ECMA2016: n uudet ominaisuudet tarjoavat käteviä vaihtoehtoja nykyisille toiminnallisuuksille.
ECMA2017 saatiin päätökseen tämän vuoden kesäkuussa. Uusia ominaisuuksia ovat async/await
, SharedArrayBuffer
ja joitakin hyödyllisiä menetelmiä Object.prototype
.