Praticamente todas as linguagens maduras são definidas por uma especificação, e os compiladores ou intérpretes tentam seguir o padrão definido nessa especificação. Mas muito raramente conseguem, a menos que o padrão seja definido pelo autor da linguagem.
Você pode encontrar o padrão C ++ 2003 , a especificação C # 4 , a especificação Java 7 e muito mais online. Muitos deles têm números de padronização ECMA ou ISO. Estas são apenas organizações com as quais você pode registrar um padrão e torná-lo mais oficial.
Historicamente, Ruby fez as coisas de maneira um pouco diferente, tendo um conjunto de testes executáveis como uma especificação . Portanto, se você deseja escrever um intérprete e chamá-lo de Ruby padrão, basta criar um intérprete que passe em todos esses testes. Mas mesmo Ruby provavelmente se tornará uma especificação mais formal eventualmente.
Javascript não é diferente, exceto possivelmente da maneira como evoluiu.
O Javascript foi criado pela Netscape. Eles o chamavam de LiveScript, mas era semelhante ao Java e fecharam um acordo com a Sun sobre o nome, o que beneficiou tanto o marketing do Netscape quanto do Java. A Microsoft tinha o VBScript e (por razões provavelmente perdidas por conjecturas) basicamente copiou o Javascript, mas o nome era de propriedade da Sun, então eles o chamaram de JScript.
Mas o JScript, embora muito parecido com o Javascript na sintaxe, fez muito uso do COM - por exemplo, IE5 e 6 instanciam um objeto XMLHttpRequest usando new ActiveXObject("Microsoft.XMLHTTP");
.
E assim nasceram paralelos, semelhantes, mas também diferentes "dialetos" de Javascript. Com o tempo, vários grupos que possuem navegadores com menos participação de mercado do que o IE tentaram padronizar o idioma e, durante anos, a Microsoft resistiu. Até V8.
V8 foi rápido. Estabeleceu um novo padrão de mercado. Fazia todo o resto parecer pobre.
E, através de vários casos antitruste contra a Microsoft, o IE estava perdendo participação de mercado. De repente, era do interesse da Microsoft apoiar a padronização. Ainda não estamos lá, mas está no caminho certo.
Enquanto isso, V8 foi open-source, o que permitiu que as pessoas começam a pensar-se novos usos para um analisador Javascript rápido, como Node.js .
Mas, voltando à sua pergunta: O que é Javascript? É o nome comum (e original) do ECMAScript, uma especificação para uma linguagem prototípica comum, mas não exclusivamente, usada para navegar e manipular o modelo de objeto de domínio em um broswer.
ECMA-262 é apenas a definição padrão, como ECMA-334 é a definição padrão para C #. ECMAScript era o único nome com o qual todas as partes interessadas poderiam concordar, em 99, quando a ECMA-262 foi escrita.