de Sanket Meghani

Vă prezentăm noile caracteristici pe care ECMAScript 2016 (ES7) le adaugă la JavaScript

Va prezentam noile caracteristici pe care ECMAScript 2016 ES7 le

De când a fost lansat ECMAScript 2015 (cunoscut și sub numele de ES6), a introdus un set imens de noi caracteristici. Acestea includ funcții săgeată, seturi, hărți, clase și destructurare și multe altele. În multe privințe, ES2015 este aproape ca și cum ai învăța o nouă versiune de JavaScript.

Comitetul tehnic Ecma 39 guvernează specificațiile ECMA. Au decis să lanseze o nouă versiune a ECMAScript în fiecare an începând cu 2015. O actualizare anuală nu mai înseamnă lansări mari precum ES6.

ECMAScript 2016 a introdus doar două caracteristici noi:

  • Array.prototype.includes ()
  • Operator de expunere

Array.prototype.includes ()

Array.prototype.includes() verifică matricea pentru value trecut ca un argument. Se întoarce true dacă matricea conține value, altfel, se întoarce false.

Înainte, trebuia să folosim Array.prototype.indexOf() pentru a verifica dacă matricea dată conține un element sau nu.

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

Cu ECMA2016, putem scrie:

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

Array.prototype.includes() mânere NaN mai bun decât Array.prototype.indexOf(). Dacă matricea conține NaN, atunci indexOf() nu returnează un index corect în timpul căutării NaN.

Array.prototype.includes() returnează valoarea corectă la căutare NaN.

NaN este o proprietate a obiectului global JavaScript și reprezintă o valoare care nu este un număr. Există ciudățenii cunoscute când comparând NaN la o altă valoare. Acestea sunt abordate în Array.prototype.includes(), dar nu în Array.protoype.indexOf.

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

Operator de expunere

JavaScript acceptă deja mulți operatori aritmetici precum +, -, * și altele.

ECMAScript 2016 a introdus operatorul de exponențiere, **.

Are același scop ca Math.pow(). Revine primul argument ridicat la puterea celui de-al doilea argument.

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

Concluzie

Noile caracteristici introduse de ECMA2016 oferă alternative convenabile la funcționalitățile existente.

Privind în viitor, ECMA2017 a fost finalizat în iunie anul curent. Funcțiile noi includ async/await, SharedArrayBuffer și câteva metode utile pentru Object.prototype.