Hier ist eine andere Ansicht zu diesem Thema. Es ist mehr oder weniger aus Erfahrung, ich kann nichts zitieren. Jeder JavaScript-Validator und jeder, der mit JavaScript arbeitet, wird Ihnen dies mitteilen
alert("hello World");
ist gültiges JavaScript. Und ich würde auch zustimmen.
Ein ECMAScript-Validator wird Ihnen jedoch wahrscheinlich mitteilen, dass er nicht gültig ist, da alert () nicht Teil des ECMAScript ist, sondern eine typische Funktion von JavaScript für Browser. Es gibt viele Funktionen von JavaScript, die nur in einer Browserumgebung sinnvoll sind: fi window.navigator, window.document, WebSocket, navigator.geolocation. Einige würden sogar sagen, dass dies nicht Teil von JavaScript ist, sondern Teil von HTML5, was nicht stimmt, da HTML5 nur die Auszeichnungssprache ist. Diese ausgefallenen neuen Funktionen werden jedoch häufig als HTML5 bezeichnet, obwohl sie in JavaScript implementiert sind.
JavaScript kann auch für serverseitiges Scripting verwendet werden. Dann machen alle Geolcation- oder Medien-Apis keinen Sinn. Daher ist JavaScript für serverseitiges Scripting wieder viel näher an ECMAScript, das diese typischen Browserfunktionen nicht bietet.
Ich konnte nicht wirklich herausfinden, ob das Math-Objekt (z. B. Math.sqrt (9)) Teil von ECAMScript ist oder ob ECMAScript wirklich nur die Syntax der Sprache definiert und überhaupt keine eingebaute Funktionalität hat. Ein ECMAScript-Validator akzeptierte jedoch Math.sqrt (9) als gültiges ECMAScript, während var test = window.document; Die ECMA-Validierung ist fehlgeschlagen.
Obwohl der folgende Link auf eine JavaScript-Dokumentation verweist, handelt es sich meiner Meinung nach um den integrierten Funktionsumfang (Objekte und Funktionen) von ECMAScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference / Global_Objects
Meiner Meinung nach ist JavaScript sehr eng mit Browsern verbunden, während ECMAScript (wenn überhaupt) nur sehr grundlegende Funktionen bietet.