Praticamente tutti i linguaggi maturi sono definiti da una specifica e compilatori o interpreti tentano di seguire lo standard definito in quella specifica. Ma molto raramente ci riescono, a meno che lo standard non sia definito dall'autore della lingua.
Puoi trovare lo standard C ++ 2003 , la specifica C # 4 , la specifica Java 7 e molti altri online. Molti di questi hanno numeri di standardizzazione ECMA o ISO. Queste sono solo organizzazioni con le quali è possibile registrare uno standard e renderlo più ufficiale.
Storicamente Ruby ha fatto le cose in modo leggermente diverso, avendo una serie di test eseguibili come specifica . Quindi, se vuoi scrivere un interprete e chiamarlo Ruby standard, devi solo creare un interprete che ha superato tutti quei test. Ma anche Ruby probabilmente diventerà una specifica più formale alla fine.
Javascript non è diverso, tranne forse nel modo in cui si è evoluto.
Javascript è stato creato per la prima volta da Netscape. Lo chiamavano LiveScript, ma sembrava simile a Java e avevano stretto un accordo con Sun sul nome, il che andava a beneficio sia della commercializzazione di Netscape che di Java. Microsoft aveva VBScript e (per ragioni probabilmente perse a causa di congetture) sostanzialmente copiò Javascript, ma il nome era di proprietà di Sun, quindi lo chiamarono sfacciatamente JScript.
Ma JScript, pur essendo molto simile a Javascript nella sintassi, ha fatto molto uso di COM, ad esempio IE5 e 6 hanno creato un'istanza di un oggetto XMLHttpRequest new ActiveXObject("Microsoft.XMLHTTP");
.
E così nacquero "dialetti" paralleli, simili ma anche diversi di Javascript. Nel tempo, vari gruppi che possiedono browser con una quota di mercato inferiore a IE hanno cercato di standardizzare la lingua e per anni Microsoft ha resistito. Fino a V8.
V8 è stato veloce. Stabilisce un nuovo standard di mercato. Ha reso tutto il resto scarso.
E, attraverso vari casi antitrust contro Microsoft, IE stava perdendo quote di mercato. Improvvisamente, era nell'interesse di Microsoft supportare la standardizzazione. Non ci siamo ancora arrivati, ma è sulla buona strada.
Nel frattempo, V8 era open-source, che ha permesso alle persone di iniziare a pensare a nuovi usi per un parser veloce JavaScript, come ad esempio Node.JS .
Ma, per tornare alla tua domanda: che cos'è Javascript? È il nome comune (e originale) di ECMAScript, una specifica per un linguaggio prototipico comunemente, ma non esclusivamente, utilizzato per navigare e manipolare il modello a oggetti di dominio in un broswer.
ECMA-262 è solo la definizione standard, come ECMA-334 è la definizione standard per C #. ECMAScript era l'unico nome su cui tutte le parti interessate potevano concordare, già nel '99, quando fu scritto ECMA-262.