ECMAScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Corretto collegamento V8
Versioni: Corretta la descrizione dell'edizione 7, aggiunta l'edizione 8
Riga 11:
 
=== Versioni ===
Ci sono seiotto edizioni dell'ECMA-262 pubblicate. IlLa lavoropubblicazione sullaavviene, versionenegli 6ultimi dello standardanni, con iluna nomecadenza inannuale codiceper dicui "Harmony",le èedizioni stato finalmente conclusohanno, nel giugnonome, delanche 2015.<refil name="auto">[http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf].riferimento EMCAScript. Retrieved on 2015-06-19dell'anno.</ref>
{| class="wikitable"
!Edizione
Riga 48:
|Pratap Lakshman, Allen Wirfs-Brock
|-
|6 (ES2015)
|6
|Giugno 2015<ref>http://www.infoworld.com/article/2937716/javascript/its-official-ecmascript-6-is-approved.html</ref>
|La sesta edizione, conosciuta come ECMAScript 2015,<ref>http://www.ecma-international.org/ecma-262/6.0/</ref> ma anche come "Harmony", apporta modifiche sintattiche significative che aprono la porta ad applicazioni più complesse, includendo classi e moduli definendoli semanticamente come lo "strict mode" in ECMAScript 5. Altre nuove features sono diversi iteratori, for/of loop, Python-style generators e generator expression, arrow functions, binary data, typed arrays, collections (maps, sets e weak maps), promises, miglioramenti delle funzioni matematiche, reflection e proxies (metaprogrammazione per virtual objects).
|Allen Wirfs-Brock
|-
|7 (ES2016)
|7
|Giugno 2016
|La settima edizione, nota anche con il nome di ECMAScript 2016, è di fatto un assestamento dei cambiamenti introdotti nella precedente edizione. Introduce comunque due novità: l'operatore esponente (**) e Array.prototype.includes.
|La settima edizione è in uno <s>stadio di sviluppo davvero primitivo</s> ma è comunque destinato a continuare il "tema" della riforma del linguaggio. Le nuove funzionalità proposte includono concurrency ed atomics, zero copy binary transfer, altri miglioramenti nell'ambito matematico, integrazione sintattica con le promises, observable streams, [[SIMD]], migliore metaprogrammazione con le classi, overload degli operatori e molto altro.
|Brian Terlson
|6-
|8 (ES2017)
|Giugno 2017
|La settimaL'ottova edizione, ènota inufficialmente unocon <s>stadioil nome di sviluppoECMAScript davvero primitivo</s> ma2017, è comunquestata destinatocompletata a continuare ile "tema"pubblicata dellanel riformaGiugno del linguaggio2017. Le nuove funzionalità proposte includono concurrency ed atomics, zero copy binary transfer, altri miglioramenti nell'ambito matematico, integrazione sintattica con le promises, observable streams, [[SIMD]], migliore metaprogrammazione con le classi, overload degli operatori e molto altro.
|7
|}
Nel giugno 2004, Ecma International pubblicò ECMA-357 come standard definendo un'estensione di ECMAScript, conosciuta come ECMAScript per XML (E4X). Ecma definì anche un "Compact Profile" per ECMAScript (conosciuto come ES-CP o ECMA 327) ideato per dispositivi dalle risorse limitate, ritirato nel 2015.<ref name="ES-CP-withdrawn">[https://esdiscuss.org/notes/2015-03-24 2015-03-24 Meeting Notes]. ESDiscuss. Also see [http://www.ecma-international.org/publications/standards/Standardwithdrawn.htm Ecma withdrawn Standards]. ECMA.</ref>
Line 80 ⟶ 85:
 
=== Sesta Edizione ===
ECMAScript 6 (ES6) fu concluso nel giugno del 2015.<ref name="auto">[http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf]. EMCAScript. Retrieved on 2015-06-19.</ref><ref>[http://www.ecma-international.org/ecma-262/6.0/ECMA-262.pdf Standard ECMA - 262 6th Edition / June 2015, ECMAScript ® 2015 Language Specification]</ref> La Sesta edizione implementa significanti cambiamenti sintattici per scrivere applicazioni più complesse, incluse le classi e i moduli definendoli semanticamente come si farebbe in ECMAScript in strict mode. Altre novità comprendono gli iteratori, il nuovo ciclo for/of, generatori in stile [[Python]] e generator expressions, arrow functions, dati binari, [[Array|vettori]] tipizzati, collezioni (mappe, set e weak maps), promises, numeri e migliorie matematiche, reflection, e proxies (metaprogrammazione per oggetti virtuali e wrappers).<ref>http://www.wintellect.com/devcenter/nstieglitz/5-great-features-in-es6-harmony</ref><ref>https://www.smashingmagazine.com/2015/10/es6-whats-new-next-version-javascript/</ref> La lista completa è piuttosto lunga.<ref>http://es6-features.org/#Constants</ref>
 
Il supporto da parte dei browser di ES6 rimane ancora incompleto per il momento.<ref>https://kangax.github.io/compat-table/es6/</ref>