Nahezu alle ausgereiften Sprachen werden durch eine Spezifikation definiert, und Compiler oder Interpreter versuchen, dem in dieser Spezifikation definierten Standard zu folgen. Dies gelingt jedoch nur sehr selten, es sei denn, der Standard wird vom Autor der Sprache definiert.
Sie finden den C ++ 2003-Standard , die C # 4-Spezifikation , die Java 7-Spezifikation und vieles mehr online. Viele von diesen haben ECMA- oder ISO-Standardisierungsnummern. Dies sind nur Organisationen, bei denen Sie einen Standard registrieren und offizieller machen können.
Ruby hat die Dinge in der Vergangenheit ein wenig anders gemacht und eine Reihe ausführbarer Tests als Spezifikation verwendet . Wenn Sie also einen Interpreter schreiben und ihn als Standard-Ruby bezeichnen möchten, müssen Sie nur einen Interpreter erstellen, der alle diese Tests bestanden hat. Aber selbst Ruby wird wahrscheinlich irgendwann zu einer formaleren Spezifikation .
Javascript ist nicht anders, außer möglicherweise in der Art und Weise, wie es sich entwickelt hat.
Javascript wurde zuerst von Netscape erstellt. Sie nannten es LiveScript, aber es sah Java ähnlich und sie schlossen einen Vertrag mit Sun über den Namen, was sowohl der Vermarktung von Netscape als auch von Java zugute kam. Microsoft hatte VBScript und (wahrscheinlich aus mutmaßlichen Gründen) kopierte im Grunde genommen Javascript, aber der Name gehörte Sun, daher nannten sie es frech JScript.
Obwohl JScript in der Syntax sehr ähnlich zu Javascript ist, wurde COM häufig verwendet. IE5 und 6 instanziieren beispielsweise ein XMLHttpRequest-Objekt mithilfe von new ActiveXObject("Microsoft.XMLHTTP");
.
Und so entstanden parallele, ähnliche, aber auch unterschiedliche "Dialekte" von Javascript. Im Laufe der Zeit haben verschiedene Gruppen, die Browser mit einem geringeren Marktanteil als IE besitzen, versucht, die Sprache zu standardisieren, und Microsoft hat sich jahrelang dagegen gewehrt. Bis V8.
V8 war schnell. Es setzte einen ganz neuen Marktstandard. Alles andere sah schlecht aus.
Durch verschiedene Kartellverfahren gegen Microsoft verlor IE Marktanteile. Plötzlich lag es im Interesse von Microsoft, die Standardisierung zu unterstützen. Wir sind noch nicht da, aber es ist auf dem richtigen Weg.
In der Zwischenzeit war V8 Open Source, was es den Leuten ermöglichte, sich neue Verwendungen für einen schnellen Javascript-Parser wie Node.JS auszudenken .
Aber um auf Ihre Frage zurückzukommen: Was ist Javascript? Dies ist der gebräuchliche (und ursprüngliche) Name für ECMAScript, eine Spezifikation für eine prototypische Sprache, die häufig, jedoch nicht ausschließlich, zum Navigieren und Bearbeiten des Domänenobjektmodells in einem Browser verwendet wird.
ECMA-262 ist nur die Standarddefinition, ebenso wie ECMA-334 die Standarddefinition für C #. ECMAScript war der einzige Name, auf den sich alle Interessenten bereits 1999 bei der Erstellung von ECMA-262 einigen konnten.