de Sanket Meghani
de când a fost lansat ECMAScript 2015 (cunoscut și sub numele de ES6), a introdus un set imens de caracteristici noi. Acestea includ funcții săgeată, seturi, hărți, clase și destructurare și multe altele. În multe privințe, ES2015 este aproape ca învățarea unei noi versiuni de JavaScript.
Comitetul Tehnic Ecma 39 reglementează specificația ECMA. Au decis să lanseze o nouă versiune a ECMAScript în fiecare an începând cu 2015. O actualizare anuală înseamnă că nu mai există versiuni mari precum ES6.
ECMAScript 2016 a introdus doar două caracteristici noi:
- Array.prototip.include ()
- operator de Exponențiere
matrice.prototip.include()
Array.prototype.includes()
verifică matricea pentru value
trecut ca argument
. Returnează true
dacă matricea conține value
, în caz contrar, returnează false
.
înainte, trebuia să folosim Array.prototype.indexOf()
pentru a verifica dacă matricea dată conține un element sau nu.
let numbers = ;
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()
manere NaN
mai bine decât Array.prototype.indexOf()
. Dacă matricea conține NaN
, atunci indexOf()
nu returnează un index corect în timp ce căutați NaN
.
Array.prototype.includes()
returnează valoarea corectă atunci când căutați NaN
.
NaN
este o proprietate a obiectului Global JavaScript și reprezintă o valoare care nu este un număr. Există ciudățenii cunoscute atunci când se compară NaN
cu o altă valoare. Acestea sunt abordate în Array.prototype.includes()
, dar nu în Array.protoype.indexOf
.
let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true
operatorul de exponentiere
JavaScript acceptă deja mulți operatori aritmetici precum +, -, *
și multe altele.
ECMAScript 2016 a introdus operatorul de exponențiere, **
.
are același scop ca și Math.pow()
. Acesta readuce 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 perspectivă, ECMA2017 a fost finalizat în luna iunie a acestui an. Noile caracteristici includ async/await
, SharedArrayBuffer
și unele metode utile pentru a Object.prototype
.