3. Ein JavaScript: Versionierung in ECMAScript 6 vermeiden
Inhaltsverzeichnis
Bitte unterstützen Sie dieses Buch: kaufen Sie es (PDF, EPUB, MOBI) oder spenden Sie
(Werbung, bitte nicht blockieren.)

3. Ein JavaScript: Versionierung in ECMAScript 6 vermeiden

Was ist der beste Weg, um einer Sprache neue Funktionen hinzuzufügen? Dieses Kapitel beschreibt den Ansatz, den ECMAScript 6 verfolgt. Er wird Ein JavaScript genannt, weil er Versionierung vermeidet.



3.1 Versionierung

Grundsätzlich ist eine neue Version einer Sprache eine Chance, sie aufzuräumen, indem veraltete Funktionen entfernt oder Funktionen geändert werden. Das bedeutet, dass neuer Code nicht in älteren Implementierungen der Sprache funktioniert und dass alter Code nicht in einer neuen Implementierung funktioniert. Jedes Code-Fragment ist an eine bestimmte Sprachversion gebunden. Zwei Ansätze sind üblich, um mit unterschiedlichen Versionen umzugehen.

Erstens kann man einen "Alles oder Nichts"-Ansatz verfolgen und verlangen, dass eine Codebasis, wenn sie die neue Version nutzen möchte, vollständig aktualisiert werden muss. Diesen Ansatz wählte Python beim Upgrade von Python 2 auf Python 3. Ein Problem dabei ist, dass es möglicherweise nicht machbar ist, eine bestehende Codebasis auf einmal zu migrieren, besonders wenn sie groß ist. Darüber hinaus ist dieser Ansatz keine Option für das Web, wo es immer alten Code geben wird und wo JavaScript-Engines automatisch aktualisiert werden.

Zweitens kann man zulassen, dass eine Codebasis Code in mehreren Versionen enthält, indem man Code mit Versionen kennzeichnet. Im Web könnte man ECMAScript 6 Code über einen speziellen Internet Media Type kennzeichnen. Ein solcher Medientyp kann einer Datei über einen HTTP-Header zugeordnet werden.

Content-Type: application/ecmascript;version=6

Er kann auch über das `type`-Attribut des `