# Was ist ECMAScript – und was nicht?

> Verstehen Sie das Verhältnis von ECMAScript und JavaScript, die Versionierung von ES6 bis ES2026+ und wann Sie tatsächlich Transpiler brauchen.

> 💡 **Kurz gesagt:**
> - **ECMAScript (ES):** die offizielle Spezifikation beziehungsweise der Standard für Skriptsprachen, gepflegt von ECMA International unter ECMA-262.
> - **JavaScript (JS):** die verbreitetste Programmiersprachen-Implementierung des ECMAScript-Standards.
> - **Versionsentwicklung:** Seit ES6 (ES2015) erscheinen neue Funktionen jährlich, von ES2016 bis ES2026+. Moderne Engines unterstützen Funktionen bis ES2021+ nativ; schwere Kompilierungswerkzeuge wie Babel sind daher außerhalb alter Browserziele seltener nötig.

In JavaScript-Bibliotheken auf GitHub, Stellenausschreibungen oder Beiträgen auf X taucht ECMAScript immer wieder auf. Selbst in Ausschreibungen auf Senior-Level herrscht über den Begriff Verwirrung. ECMAScript soll Skriptsprachen und insbesondere JavaScript standardisieren; unterschiedliche Verwendungen und Missverständnisse sind häufig. Dieser Artikel entstand aus einer solchen Ausschreibung.

In Stellenanzeigen lesen Sie etwa:

- umfassende Kenntnisse in JavaScript und ECMAScript,
- Kenntnisse in ES5 und ES6,
- Kenntnisse in ES6+ – aus meiner Sicht die merkwürdigste Formulierung,
- Kenntnisse in ES.Next – die sinnvollste.

Auch häufig gesuchte Begriffe zeigen das Missverständnis: „ECMAScript vs. JavaScript“, „Was ist ECMAScript?“, „Unterschied zwischen ECMAScript und JavaScript“ und „ECMAScript lernen“. Die folgenden Antworten klären es.

## ECMAScript und JavaScript im Vergleich

| Merkmal | ECMAScript | JavaScript |
| :--- | :--- | :--- |
| **Was ist es?** | Eine standardisierte Spezifikation, also ein Regelwerk. | Eine vollwertige Programmiersprache. |
| **Trägerorganisation** | ECMA International, TC39-Komitee. | Mozilla Foundation und Browserhersteller. |
| **Ausführung** | Nicht direkt ausführbar; es ist ein Bauplan. | Wird von JS-Engines wie V8, JavaScriptCore und SpiderMonkey ausgeführt. |
| **Host-APIs** | Schließt umgebungsspezifische Funktionen aus, also weder DOM noch Dateisystem. | Enthält je nach Umgebung Host-APIs, etwa DOM im Browser oder `fs` in Node.js. |

## Was ist ECMA International?

ECMA, ausgeschrieben „European Computer Manufacturers Association“, ist ein gemeinnütziger Verband. ECMA veröffentlicht Standards für Informations- und Kommunikationstechnologien und befasst sich nicht nur mit ECMAScript.

## Was ist ECMAScript?

ECMA International veröffentlicht [viele Standards](https://www.ecma-international.org/publications-and-standards/standards/). Der ECMAScript-Standard wird durch **ECMA-262** geregelt und ist einer davon. ECMAScript ist ein allgemeiner Standard für Skriptsprachen.

## Was unterscheidet ECMAScript von JavaScript?

ECMAScript ist eine Spezifikation. JavaScript ist eine Programmiersprache, die dieser Spezifikation entspricht.

Der Satz **„Ich kann JavaScript, aber kein ECMAScript“** ist deshalb nicht sinnvoll. Würden Sie eine neue Skriptsprache von Grund auf entwickeln, müssten Sie die ECMAScript-Spezifikation Seite für Seite studieren. Um ein erfolgreicher JavaScript-Entwickler zu sein, müssen Sie das nicht. Weil JavaScript dem Standard entspricht, hilft Ihnen aber Wissen über seine weiterentwickelten Funktionen, saubereren Code zu schreiben.

## ES5, ES6, ES7 … was bedeuten diese Zahlen?

ECMAScript wird jährlich überarbeitet; jedes Jahr erscheint eine neue Version, etwa ES2024, ES2025 und ES2026. ES14 und ES15 sind nicht zwei vollständig verschiedene Standards. ES15 ist schlicht die auf ES14 aufbauende Überarbeitung.

- **Steht in einem Repository „ES8+“**, bedeutet das: Eine JavaScript-Engine mit ES8- (ES2017-) oder neuerer Unterstützung kann den Code ohne Konverter ausführen.
- **Die Anforderung „Kenntnisse in ES8+“** ist nicht vernünftig. „Kenntnisse der ES8-Funktionen“, etwa `async/await`, wäre sinnvoll. Ein eigenständiges Wissensgebiet „ES8+“ gibt es nicht. Gemeint ist vermutlich die aktuelle Version, also **ES.Next**.

## Reicht ES6?

Manche Ausschreibungen verlangen nur Erfahrung mit ES6. Wörtlich genommen müssten Sie dann die `async/await`-Funktionen aus ES8, dynamische Imports aus ES10, `Promise.allSettled` aus ES11 oder `Object.groupBy` aus ES15 nicht kennen und wären dennoch theoretisch der beschriebene „Senior JavaScript Developer“. In der Praxis wird von modernen Entwicklern erwartet, die jährlichen Erweiterungen zu verfolgen.

## Läuft ECMAScript-konformer Code in jeder Umgebung?

Die Kompatibilitätslage hat sich deutlich verändert. ES6 von 2015 wird heute von praktisch 100 Prozent moderner Browser und Node.js-Umgebungen nativ unterstützt. Auch ES2020- und ES2021-Funktionen haben nahezu universelle native Unterstützung.

Sie müssen Code nur kompilieren, wenn:

1. Sie extrem alte Plattformen wie den inzwischen abgekündigten Internet Explorer ansprechen.
2. Sie experimentelle Vorschläge (**ES.Next**) einsetzen, die TC39 noch nicht finalisiert hat oder Browser-Engines noch nicht nativ umsetzen.

Für alte Umgebungen verwenden Entwickler Transpiler:

- **Babel:** konvertiert ECMAScript-2015+-Code in eine ES5-kompatible Fassung.
- **SWC und esbuild:** moderne, sehr schnelle, in Rust beziehungsweise Go geschriebene Transpiler und Build-Werkzeuge, die Babel in modernen Build-Systemen wie **Vite** weitgehend abgelöst haben.

Als Plugins in Bundlern sorgen diese Werkzeuge dafür, dass moderner JavaScript-Code sicher für ältere Laufzeitumgebungen kompiliert wird.

---

Language: German
License: CC BY 4.0
License URL: https://creativecommons.org/licenses/by/4.0/
Scope: Evren Bal-authored text, unless this article expressly states otherwise.
Excluded: Third-party material, quoted excerpts, logos, and separately marked images retain their own rights.
Attribution: Credit Evren Bal, link to the canonical source and license, and indicate changes.
Source: https://evrenbal.com/de/was-ist-ecmascript-und-was-nicht
