Benvenuto JavaScript 2.0

JavaScript domina il web ed ECMAScript, il cuore del linguaggio sta crescendo. La nuova specifica (ES6 o JS2), prevista per la metà di quest'anno, porta con sé numerose innovazioni che possono essere già provate oggi. Firefox attualmente ha il miglior supporto , ma sono possibili anche i polyfill attraverso i cosiddetti transpiler come Google Traceur . Quanto segue è una breve panoramica delle nuove funzionalità di ES6.


La nuova parola chiave let fa molte cose meglio di var : Scoping ora si comporta esattamente come in altri linguaggi (C / C ++, Java), motivo per cui i blocchi if ora hanno anche il proprio ambito. Viene riparato anche il sollevamento, ovvero l'anticipo di dichiarazioni di variabili (non assegnazioni di valore) nell'ambito del rispettivo campo di applicazione:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

Il numero di altre innovazioni è lungo: costanti (const), valori di default per le funzioni (funzione pow (a, b = 2) {return Math.pow (a, b);}), una nuova notazione per le funzioni (let pow = (a, b = 2) => Math.pow (a, b);), una moltitudine di nuove funzioni (repeat (), contains (), startsWith (), find (), findIndex ()), la nuova costruzione del loop per ... di.

Dovrebbero essere menzionati anche i nuovi tipi di dati impostati, mappa, proxy e simbolo, l'importazione di (parti di altri) file JavaScript con importazione e una nuova sintassi intuitiva per classi ed ereditarietà. Spesso ci sono anche cose piccole ma tanto attese come la possibilità di interruzioni di riga nelle stringhe letterali (notare le virgolette speciali):

`foo

bar`

JavaScript è stato a lungo molto più di uno strumento per piccoli trucchi per siti Web: crea applicazioni Web potenti e ad alte prestazioni che non sono in alcun modo inferiori alle loro controparti desktop. Con il gran numero di innovazioni utili e il supporto già disponibile da ES6, la programmazione è due volte più divertente.

Chi non ha sempre voluto verificare l'uguaglianza di due numeri con l'aiuto della nuova costante Number.EPSILON , il cui valore porta la differenza tra 1 e il successivo valore in virgola mobile più alto?

let cmp = (a,b) => Math.abs(a-b) 
Indietro