Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ES6: The future of Javascript

FEVR
January 20, 2016

ES6: The future of Javascript

"ES6 o Javascript Harmony è la nuova versione di Javascript che andrà a sostituire nel prossimo futuro la versione attuale ES5.
Con questa nuova versione JS matura ulteriormente strizzando un occhio a linguaggi più consolidati come Python e Ruby.
In questo Meetup analizzeremo le principali novità introdotte da ES6 e vedremo come iniziare da subito ad utilizzarlo nei nostri progetti attraverso dei tool chiamati "transpiler" che compilano l'ultima versione di Javascript nella versione supportata dai browser attuali."
Ospiti del primo meetup di Gennaio i ragazzi di TrevisoJS

FEVR

January 20, 2016
Tweet

More Decks by FEVR

Other Decks in Technology

Transcript

  1. ECMA è l'organizzazione che definisce gli standard di alcuni linguaggi

    tra cui Javascript Attualmente la versione supportata dai browser moderni è la ES5 ES6 è il nuovo standard Javascript a partire da Giugno 2015
  2. ES5 Variabili definite con la parola chiave "var" Scope "Visibilità"

    della variabile relativa alla funzione in cui viene definita o globale se fuori da una funzione. Antipattern: omettere l'uso di "var"
  3. ES6 Variabili definite con la parola chiave "var", "let", "const"

    "let" permette di definire "variabili di blocco" "const" definisce una constante decostructing parametri funzioni con valori di default
  4. ES6 Definire una funzione con la keywork "function" o come

    arrow function Il valore di this in un arrow function è quello dell' oggetto corrente
  5. ES6 possibilità di definire un Prototype per estendere altri oggetti

    (__proto__ e super) sintassi migliorata per funzioni e autoassegnamenti nomi delle proprietà dinamici
  6. ES6 Introduzione delle keyword "class","extends","static",... Programmazione OO più simile ad

    altri linguaggi, dettagli implementativi nascosti. Getter e Setter
  7. ES5 Esistono dei plugin per implementare le Promise in ES5

    jQuery Deferred è una implementazione molto simile alle Promise disponibile con jQuery.
  8. ES6 Utilizzando il carattere '`' è possibile definire una template

    string Una template string può essere multiline e utilizzare dei placeholder per le variabili invece di concatenarle con il '+'
  9. Vista la recente pubblicazione, non tutte le nuove funzionalità sono

    supportate dai JavaScript engine più diffusi ma .... http://kangax.github.io/compat-table/es6/
  10. ... non c'è da preoccuparsi! Questi due tool (i cosìddetti

    transpiler) forniscono tutto quello di cui abbiamo bisogno.
  11. Entrambi sono degli eccellenti compilatori. Ci sono solamente due differenze

    importanti: Babel converte in un codice più leggibile Traceur non supporta JSX
  12. Con Gulp 3.9, ora possiamo utilizzare ES6 grazie a vari

    plugin: tra i più famosi troviamo, gulp-babel, gulp-traceur e gulp-regenerator (consigliato da Addy Osmani).
  13. Anche per chi utilizza Grunt non ci sono problemi, infatti

    sono disponibili plugin sia per Babel con grunt-babel, sia per Traceur con grunt-traceur
  14. Chi utilizza Webpack o Browserify può stare tranquillo ed inizare

    ad utilizzare ES6 senza problemi grazie a...