di Sanket Meghani
Dal momento che ECMAScript 2015 (noto anche come ES6) è stato rilasciato, ha introdotto un enorme set di nuove funzionalità. Includono funzioni freccia, set, mappe, classi e destrutturazione e molto altro. In molti modi, ES2015 è quasi come imparare una nuova versione di JavaScript.
Il Comitato tecnico Ecma 39 disciplina le specifiche ECMA. Hanno deciso di rilasciare una nuova versione di ECMAScript ogni anno a partire dal 2015. Un aggiornamento annuale significa non più grandi rilasci come ES6.
ECMAScript 2016 ha introdotto solo due nuove funzionalità:
- Matrice.prototipo.include ()
- Operatore di esponenziazione
Array.prototipo.include()
Array.prototype.includes()
controlla l’array per value
passato come argument
. Restituisce true
se l’array contiene value
, altrimenti restituisce false
.
Prima, avevamo bisogno di usare Array.prototype.indexOf()
per verificare se l’array dato contiene un elemento o meno.
let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}
Con ECMA2016, possiamo scrivere:
if(numbers.includes(2)) { console.log('Array contains value');}
Array.prototype.includes()
maniglie NaN
meglio di Array.prototype.indexOf()
. Se l’array contiene NaN
, indexOf()
non restituisce un indice corretto durante la ricerca di NaN
.
Array.prototype.includes()
restituisce il valore corretto durante la ricerca di NaN
.
NaN
è una proprietà dell’oggetto globale JavaScript e rappresenta un valore Non numerico. Ci sono stranezze note quando si confronta NaN
con un altro valore. Questi sono affrontati in Array.prototype.includes()
, ma non in Array.protoype.indexOf
.
let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true
Operatore di esponenziazione
JavaScript supporta già molti operatori aritmetici come +, -, *
e altro ancora.
ECMAScript 2016 ha introdotto l’operatore di esponenziazione, **
.
Ha lo stesso scopo di Math.pow()
. Restituisce il primo argomento sollevato alla potenza del secondo argomento.
let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81
Conclusione
Le nuove funzionalità introdotte da ECMA2016 forniscono alternative convenienti alle funzionalità esistenti.
Guardando al futuro, ECMA2017 è stato finalizzato nel giugno di quest’anno. Le nuove funzionalità includono async/await
, SharedArrayBuffer
e alcuni metodi utili per Object.prototype
.