Tutvustame uusi funktsioone, mille ECMAScript 2016 (ES7) JavaScripti lisab

Pärast ECMAScript 2015 (tuntud ka kui ES6) väljaandmist on see kasutusele võtnud tohutu hulga uusi funktsioone. Need sisaldavad noole funktsioone, komplekte, kaarte, klasse ja destruktureerimist ning palju muud. Paljuski on ES2015 peaaegu nagu JavaScripti uue versiooni õppimine.

ECMA tehniline komitee 39 reguleerib ECMA spetsifikatsioone. Nad otsustasid alates 2015. aastast igal aastal välja anda uue ECMAScripti versiooni. Iga-aastane uuendus ei tähenda enam suuri väljaandeid nagu ES6.

ECMAScript 2016 tutvustas ainult kahte uut funktsiooni:

  • Array.prototype.includes ()
  • Eksponentimise operaator

Array.prototype.includes ()

Array.prototype.includes()kontrollib massiivi valueläbinud kui argument. See naaseb, truekui massiiv sisaldab tähist value, vastasel juhul naaseb false.

Enne pidime Array.prototype.indexOf()kontrollima, kas antud massiiv sisaldab elementi või mitte.

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

ECMA2016 abil saame kirjutada:

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

Array.prototype.includes()saab NaNparemini hakkama kui Array.prototype.indexOf(). Kui massiiv sisaldab NaN, siis indexOf()ei tagasta otsingu ajal õiget indeksit NaN.

Array.prototype.includes()tagastab otsimisel õige väärtuse NaN.

NaNon JavaScripti globaalse objekti omadus ja tähistab väärtust, mis pole arv. NaNTeise väärtusega võrreldes on teada veidrusi . Nendega tegeletakse Array.prototype.includes(), kuid mitte Array.protoype.indexOf.

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

Eksponentide operaator

JavaScript toetab juba paljusid aritmeetikaoperaatoreid jms +, -, *.

ECMAScript 2016 tutvustas eksponentide operaatorit **.

Sellel on sama eesmärk nagu Math.pow(). See tagastab esimese tõstatatud argumendi teise argumendi jõuks.

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

Järeldus

ECMA2016 kasutusele võetud uued funktsioonid pakuvad olemasolevatele funktsioonidele mugavaid alternatiive.

Tulevikku vaadates viidi ECMA2017 lõpule selle aasta juunis. Uued funktsioonid hõlmavad async/await, SharedArrayBufferja mõned kasulikud meetodid Object.prototype.