Esercitazione JS

JS CASA JS Introduzione JS Dove si va Uscita JS Dichiarazioni JS Sintassi JS Commenti JS Variabili JS JS Let JS Cost Operatori JS JS aritmetica Assegnazione JS Tipi di dati JS Funzioni JS Oggetti JS Eventi JS Corde JS Metodi di stringa JS Ricerca di stringhe JS Modelli di stringhe JS Numeri JS Metodi numerici JS Matrici JS Metodi array JS Ordinamento matrice JS Iterazione dell'array JS Cost. array JS Date JS Formati data JS Metodi di acquisizione della data JS Metodi di impostazione della data JS JS matematica JS Casuale JS booleani Confronti JS Condizioni JS JS Switch Ciclo JS per JS Loop per In Ciclo JS per di JS Loop mentre JS Break Iterabili JS Insiemi JS Mappe JS Tipo JS Conversione del tipo JS JS bit a bit JS RegExp Errori JS Ambito JS JS sollevamento Modalità rigorosa JS JS questa parola chiave Funzione freccia JS Classi JS JS JSON Debug JS Guida allo stile JS Migliori Pratiche JS Errori di JS Prestazioni JS Parole riservate JS

Versioni JS

Versioni JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Storia di JS

Oggetti JS

Definizioni di oggetti Proprietà dell'oggetto Metodi dell'oggetto Visualizzazione di oggetti Accessori per oggetti Costruttori di oggetti Prototipi di oggetti Iterabili di oggetti Insiemi di oggetti Mappe degli oggetti Riferimento all'oggetto

Funzioni JS

Definizioni delle funzioni Parametri di funzione Invocazione di funzione Chiamata di funzione Funzione Applica Chiusure di funzioni

Classi JS

Introduzione alla classe Eredità di classe Classe statica

JS Async

Richiamate JS JS asincrono JS Promesse JS Async/Attendere

JS HTML DOM

DOM Introduzione Metodi DOM Documento DOM Elementi DOM DOM HTML Moduli DOM DOM CSS Animazioni DOM Eventi DOM Ascoltatore di eventi DOM Navigazione DOM Nodi DOM Collezioni DOM Elenchi di nodi DOM

Distinta base del browser JS

Finestra JS Schermo JS Posizione JS Storia di JS Navigatore JS Avviso popup JS JS tempismo Biscotti JS

API Web JS

Introduzione all'API Web API dei moduli Web API Cronologia web API di archiviazione Web API Web Worker API di recupero Web API di geolocalizzazione web

JS AJAX

Introduzione all'Ajax AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

JS JSON

Introduzione JSON Sintassi JSON JSON contro XML Tipi di dati JSON Analisi JSON JSON Stringify Oggetti JSON Matrici JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Selettori jQuery jQuery HTML jQuery CSS jQuery DOM

Grafica JS

Grafica JS Tela JS JS Plotly JS Chart.js Grafico di Google JS JS D3.js

Esempi JS

Esempi JS JS HTML DOM Input HTML JS Oggetti HTML JS Eventi HTML JS Browser JS Editore JS Esercizi JS Quiz J.S Certificato JS

Riferimenti JS

Oggetti JavaScript Oggetti HTML DOM


Cronologia JavaScript


JavaScript/ECMAScript

JavaScript è stato inventato da Brendan Eich nel 1995.

È stato sviluppato per Netscape 2 ed è diventato lo standard ECMA-262 nel 1997.

Dopo che Netscape ha consegnato JavaScript a ECMA, la fondazione Mozilla ha continuato a sviluppare JavaScript per il browser Firefox. L'ultima versione di Mozilla era la 1.8.5. (Identico a ES5).

Internet Explorer (IE4) è stato il primo browser a supportare ECMA-262 Edition 1 (ES1).

Anno ECMABrowser
1995   JavaScript è stato inventato da Brendan Eich
1996   Netscape 2 è stato rilasciato con JavaScript 1.0
1997   JavaScript è diventato uno standard ECMA (ECMA-262)
1997 ES1 ECMAScript 1 è stato rilasciato
1997 ES1 IE 4 è stato il primo browser a supportare ES1
1998 ES2 È stato rilasciato ECMAScript 2
1998   Netscape 42 è stato rilasciato con JavaScript 1.3
1999 ES2 IE 5 è stato il primo browser a supportare ES2
1999 ES3 È stato rilasciato ECMAScript 3
2000 ES3 IE 5.5 è stato il primo browser a supportare ES3
2000   Netscape 62 è stato rilasciato con JavaScript 1.5
2000   Firefox 1 è stato rilasciato con JavaScript 1.5
2008 ES4 ECMAScript 4 è stato abbandonato
2009 ES5 È stato rilasciato ECMAScript 5
2011 ES5 IE 9 è stato il primo browser a supportare ES5 *
2011 ES5 Firefox 4 è stato rilasciato con JavaScript 1.8.5
2012 ES5 Pieno supporto per ES5 in Safari 6
2012 ES5 Pieno supporto per ES5 in IE 10
2012 ES5 Pieno supporto per ES5 in Chrome 23
2013 ES5 Pieno supporto per ES5 in Firefox 21
2013 ES5 Pieno supporto per ES5 in Opera 15
2014 ES5 Pieno supporto per ES5 in tutti i browser
2015 ES6 È stato rilasciato ECMAScript 6
2016 ES6 Pieno supporto per ES6 in Chrome 51
2016 ES6 Pieno supporto per ES6 in Opera 38
2016 ES6 Pieno supporto per ES6 in Edge 14
2016 ES6 Pieno supporto per ES6 in Safari 10
2015 ES6 Pieno supporto per ES6 in Firefox 52
2018 ES6 Pieno supporto per ES6 in tutti i browser **

Nota

* Internet Explorer 9 non supportava ES5 "use strict".

** Internet Explorer 11 non supporta ES6.


Il Comitato Tecnico dell'ECMA 39

Nel 1996, Netscape e Brendan Eich hanno portato JavaScript all'organizzazione internazionale degli standard ECMA ed è stato creato un comitato tecnico (TC39) per sviluppare il linguaggio.

ECMA-262 Edition 1 è stato rilasciato nel giugno 1997.


Da ES4 a ES6

Quando il comitato TC39 si è riunito a Oslo nel 2008, per concordare ECMAScript 4, è stato diviso in 2 campi molto diversi:

L'ECMAScript 3.1 Camp :
Microsoft e Yahoo che volevano un aggiornamento incrementale da ES3.

ECMAScript 4 Camp :
Adobe, Mozilla, Opera e Google che desideravano un massiccio aggiornamento ES4.

Il 13 agosto 2008, Brendan Eich ha scritto un'e-mail :

Non è un segreto che l'organismo degli standard JavaScript, l'Ecma's Technical Committee 39, è stato diviso per oltre un anno, con alcuni membri a favore di ES4, una quarta edizione importante di ECMA-262, e altri che sostengono ES3.1 basato sull'attuale ECMA-262 Specifica dell'edizione 3 (ES3). Ora, sono felice di riferire che la divisione è finita.

La soluzione era lavorare insieme:

  • ECMAScript 4 è stato rinominato ES5
  • ES5 dovrebbe essere un aggiornamento incrementale di ECMAScript 3.
  • Le funzionalità di ECMAScript 4 dovrebbero essere riprese nelle versioni successive.
  • TC39 dovrebbe sviluppare una nuova major release, di portata maggiore rispetto a ES5.

La nuova versione pianificata (ES6) è stata denominata in codice "Harmony" (a causa della divisione che ha creato?).

ES5 è stato un enorme successo. È stato rilasciato nel 2009 e tutti i principali browser (incluso Internet Explorer) erano completamente conformi entro luglio 2013:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

Anche ES6 è stato un enorme successo. È stato rilasciato nel 2015 e tutti i principali browser erano completamente conformi entro marzo 2017:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016