Megpróbáltam guglizni „a különbség a JavaScript és az ECMAScript között”.
Végül át kellett gázolnom a kétértelmű és látszólag ellentmondó eredmények tengerén:
„Az ECMAScript egy szabvány.”
„A JavaScript szabvány.”
„Az ECMAScript egy specifikáció.”
„A JavaScript az ECMAScript szabvány megvalósítása.”
„Az ECMAScript szabványosított JavaScript.”
„Az ECMAScript egy nyelv.”
„A JavaScript az ECMAScript dialektusa.”
„ECMAScript a JavaScript.”

Visszafogva a sírás iránti vágyat, felhúzódtam, és úgy döntöttem, hogy elkövetem a fájdalmas, mégis eredményes kutatásokat.
Ez a cikk a JavaScript és az ECMAScript közötti különbségek jelenlegi megértését mutatja be. Olyan emberek számára készült, akik ismerik a JavaScript-et, de szeretnék tisztábban megérteni annak kapcsolatát az ECMAScript-kel, a böngészőkkel, a Babellel és egyebekkel. Megismerheti a szkript nyelveket, a JavaScript motorokat és a JavaScript futási idejét is.
Szóval pumpálj.
JavaScript / ECMAScript szószedet
Az alábbiakban felsoroljuk a definíciókat, amelyek a következetességre és az egyértelműségre összpontosítanak. A meghatározások nem 100% -ban teljesek. Úgy vannak kialakítva, hogy magas szinten megértsék a JavaScript és az ECMAScript közötti kapcsolatot és kapcsolatot.
Minden további nélkül kezdjük.
Ecma International
Olyan szervezet, amely szabványokat hoz létre a technológiák számára.

A „standard” (bár nem az Ecma által készített) példájának szemléltetésére gondoljon az összes használt billentyűzetre. A túlnyomó többségnek ugyanabban a sorrendben voltak a betűi, és a szóköz, az Enter billentyű, a nyíl billentyűk, a tetején sorban megjelenő számokkal? Ennek oka, hogy a legtöbb billentyűzetgyártó a QWERTY elrendezési szabványra alapozza a billentyűzet kialakítását.
ECMA-262
Ez az Ecma International által kiadott szabvány. Ez tartalmazza az általános célú szkriptnyelv specifikációját.

Az ECMA-262 olyan szabvány, mint a QWERTY, de a billentyűzetkiosztási specifikáció helyett az ECMAScript nevű szkriptnyelv-specifikációt képviseli.
Gondoljon az ECMA-262-re, mint az ECMAScript referenciaszámára.

Szkript nyelv
Kifejezetten egy létező entitás vagy rendszer működésére tervezett programozási nyelv
Annak általános megismeréséhez, hogy mitől lesz egy programozási nyelv szkriptnyelv, vegye figyelembe a „walk”, „run” és „jump” parancsokat. Ezekhez a műveletekhez valamire van szükség a végrehajtáshoz, esetleg egy személy, egy kutya vagy egy videojáték-szereplő. Ha egy színész nem hajtja végre ezeket a parancsokat, akkor a "járás", a "futás" és az "ugrás" nem lenne értelme. Ez a műveletsorozat hasonló egy szkriptnyelvhez, amely egy külső entitás manipulálására összpontosít.
ECMAScript
Az ECMA-262-ben meghatározott specifikáció általános célú szkriptnyelv létrehozására.
Szinonima: ECMAScript specifikáció

Míg az ECMA-262 a szabvány neve, az ECMAScript szkriptnyelv-specifikációt képviseli.
Az ECMAScript biztosítja azokat a szabályokat, részleteket és irányelveket, amelyeket a szkriptnyelvnek be kell tartania ahhoz, hogy az ECMAScript-kompatibilisnek tekinthető legyen.

JavaScript
Általános célú szkriptnyelv, amely megfelel az ECMAScript specifikációnak.

A JavaScript az a kávéízű nyelv, amellyel szeretek programozni. Az ECMAScript az a specifikáció, amelyen alapul. Az ECMAScript specifikáció elolvasásával megtanulhatja, hogyan kell létrehozniszkriptnyelv. Elolvassa a JavaScript dokumentációt, akkor megtanulják, hogyan kell használni egy programozási nyelv.
Amikor az emberek az „ECMAScript nyelv dialektusának” nevezik a JavaScriptet, akkor ugyanabban az értelemben értik, mint amikor angol, francia vagy kínai nyelvjárásokról beszélnek. A nyelvjárás lexikonjának és szintaxisának nagy részét anyanyelvéből származtatja, de annyira eltér, hogy megérdemelné a megkülönböztetést.
A JavaScript többnyire az ECMA-262 szabványban leírtak szerint hajtja végre az ECMAScript specifikációt, de nagyon sok eltérés létezik. A Mozilla itt felvázolja a JavaScript nem ECMAScript nyelvi jellemzőit:

JavaScript motor
Program vagy tolmács, amely megérti és végrehajtja a JavaScript kódot.
Szinonimák : JavaScript tolmács, JavaScript implementáció

A JavaScript-motorok általában megtalálhatók a webböngészőkben, köztük a V8 a Chrome-ban, a SpiderMonkey a Firefoxban és a Chakra az Edge-ben. Minden motor olyan, mint egy nyelvi modul az alkalmazásához, amely lehetővé teszi számukra, hogy támogassa a JavaScript nyelv egy bizonyos részhalmazát.
A JavaScript motor a böngészőhöz olyan, mint a nyelv megértése az ember számára.Ha újra meglátogatjuk a „séta”, „fuss”, „ugrás” műveletek példáját, a JavaScript motor egy „entitás” része, amely valójában megérti, mit jelentenek ezek a műveletek.
Ez a hasonlat segít megmagyarázni néhány dolgot a böngészőkről:

Különbségek a böngésző teljesítményében
Két ember felismerheti az „ugrás” parancsot, de az egyik gyorsabban reagálhat a parancsra, mert az illető gyorsabban megérti és feldolgozza a parancsot, mint a másik. Hasonlóképpen két böngésző is megérti a JavaScript kódot, de az egyik gyorsabban futtatja, mert a JavaScript motorja hatékonyabban valósul meg.

A böngésző támogatásának különbségei
Vegye figyelembe az ugyanazon a nyelven beszélő emberek közötti különbségeket. Még akkor is, ha sokan beszélnek angolul, egyesek tudnak néhány szót, kifejezést és szintaxisszabályt, amelyeket mások nem, és fordítva. A böngészők ugyanúgy vannak. Annak ellenére, hogy a böngészők JavaScript-motorjai mind értik a JavaScript-et, egyes böngészők jobban megértik a nyelvet, mint mások. Különbségek mutatkoznak a böngészők nyelvének támogatásában.
Ami a böngésző támogatását illeti, az emberek általában az „ECMAScript kompatibilitásról” beszélnek, nem pedig a „JavaScript kompatibilitásról”, annak ellenére, hogy a JavaScript motorok elemzik és végrehajtják… Nos, a JavaScript-et. Ez kissé zavaró lehet, de van rá magyarázat.

Ha emlékeznek rá, ECMAScript egy leírás a mi egy programozási nyelv is néz ki. Az ECMAScript új kiadásának kiadása nem jelenti azt, hogy az összes létező JavaScript motor hirtelen megkapja ezeket az új funkciókat. A JavaScript-motorokért felelős csoportoknak vagy szervezeteknek naprakésznek kell lenniük a legújabb ECMAScript specifikációkról, és el kell fogadniuk annak módosításait.
Ezért a fejlesztők hajlamosak olyan kérdéseket feltenni, mint például: „Az ECMAScript melyik verzióját támogatja ez a böngésző?” vagy "Mely ECMAScript szolgáltatásokat támogatja ez a böngésző?" Szeretnék tudni, hogy a Google, a Mozilla és a Microsoft rábukkant-e a böngészőik JavaScript motorjainak - például a V8, a SpiderMonkey és a Chakra - frissítésére a legújabb ECMAScriptben ismertetett funkciókkal.
Az ECMAScript kompatibilitási táblázat jó forrás e kérdések megválaszolásához.
Ha megjelenik az ECMAScript új kiadása, akkor a JavaScript-motorok nem integrálják egyszerre a teljes frissítést. Fokozatosan építik be az új ECMAScript szolgáltatásokat, amint az a Firefox JavaScript-változásnaplójának ezen kivonatában látható:

JavaScript futásidejű
A környezet, amelyben a JavaScript-kód fut, és amelyet egy JavaScript-motor értelmez. A futásideje biztosítja azokat a hosztobjektumokat, amelyeken a JavaScript működhet és működhet.
Szinonimák : Gazdakör

A JavaScript futásideje a „létező entitás vagy rendszer”, amelyet a szkript nyelv meghatározása tartalmaz. A kód áthalad a JavaScript motoron, és miután elemezte és megértette, egy entitás vagy rendszer végrehajtja az értelmezett műveleteket. Egy kutyasétál, egy személyfut, egy videojáték-karakter ugrik (vagy a fenti kép esetében roncsok).
Az alkalmazások futás közben „host objektumok” biztosításával elérhetővé teszik a JavaScript szkriptek számára. A kliens oldalon a JavaScript futási ideje a webböngésző lenne, ahol a gazdagépobjektumok, például a Windows és a HTML dokumentumok manipulálhatóvá válnak.
Dolgozott már valaha az ablak vagy a dokumentum gazdagépeivel? Az ablak és a dokumentumobjektumok valójában nem részei az alapvető JavaScript nyelvnek. Ezek webes API-k, egy böngésző által biztosított objektumok, amelyek a JavaScript hosztkörnyezetként működnek. A szerver oldalon a JavaScript futásideje a Node.js. A kiszolgálóval kapcsolatos gazdagép-objektumokat, például a fájlrendszert, a folyamatokat és a kéréseket a Node.js tartalmazza.
Érdekes szempont: a különböző JavaScript futási idők ugyanazt a JavaScript motort használhatják. Például a V8 a JavaScript motor, amelyet a Google Chrome és a Node.js is használ - két nagyon különböző környezetben.
ECMAScript 6
Ez az ECMA-262 szabvány hatodik kiadása, és az ECMAScript specifikáció jelentős változtatásait és fejlesztéseit tartalmazza.
Szinonimák : ES6, ES2015 és ECMAScript 2015

Az ECMAScript ezen kiadása megváltoztatta a nevét ES6-ról ES2015-re, mert 2015-ben az Ecma International úgy döntött, hogy áttér az éves ECMAScript kiadásokra. Ennek megfelelően az Ecma International megkezdte az ECMAScript specifikáció új kiadásainak megnevezését a megjelenés éve alapján. Röviden: az ES6 és az ES2015 ugyanazon dolog két különböző neve.
Bábel
Transpiler, amely képes átalakítani az ES6 kódot ES5 kóddá.

A fejlesztők használhatják az ES6-hoz tartozó fényes új funkciókat, de a böngészők közötti kompatibilitással foglalkozhatnak webalkalmazásaikhoz. A cikk írásakor az Edge és az Internet Explorer nem támogatja teljes mértékben az ES6 specifikációból származó szolgáltatásokat.
Az érintett fejlesztők a Babel segítségével átalakíthatják ES6 kódjukat egy funkcionálisan egyenértékű verzióvá, amely csak az ES5 szolgáltatásait használja. Az összes nagy böngésző teljes mértékben támogatja az ES5-öt, így probléma nélkül futtathatják a kódot.
Még egy érdekes apróság
Remélem, hasznosnak találta ezeket az információkat a JavaScript-ről és az ECMAScript-ről. Mielőtt itt összefoglalnánk a dolgokat, szeretnék még egy olyan információt megosztani, amelyet tisztázni kell a hozzám hasonló kezdő webfejlesztők számára.
Csirke vagy a tojás
A történelem zavaró tényezője, hogy a JavaScript-et 1996-ban hozták létre. Ezt követően 1997-ben benyújtották az Ecma International-hez szabványosítás céljából, amelynek eredményeként elkészült az ECMAScript. Ugyanakkor, mivel a JavaScript megfelelt az ECMAScript specifikációnak, a JavaScript egy példa az ECMAScript megvalósítására.
Ebből a szórakoztató tényből fakad: az ECMAScript JavaScript-re, a JavaScript pedig ECMAScript-re épül.
Tudom.
Pontosan úgy hangzik, mint az időutazás, amikor az emberek saját szülőik lennének - kissé nyűgös, de nagyon szórakoztató gondolkodni.
Minden jó dolog
Tudom, hogy mindannyian jól éreztük magunkat itt, de ez sok információ volt megemésztendő. Megragadom az alkalmat, hogy búcsút mondjak.
Kérjük, hagyjon nyugodtan kérdést, megjegyzést, javaslatot vagy aggályt az alábbiakban.
Nagyon köszönöm, hogy elolvastad!