ECMAScript

ECMAScript ist die scripting Sprache, die von Ecma International in der ECMA-262 Spezifizierung und ISO/IEC 16262 standardisiert ist. Die Sprache wird für die Kundenseite scripting im Web, in der Form von mehreren wohl bekannten Dialekten wie JavaScript, JScript und ActionScript weit verwendet.

Geschichte

JavaScript wurde von Brendan Eich von Netscape unter dem Namen Mokka, späterer LiveScript ursprünglich entwickelt, und schließlich zu JavaScript umbenannt. Im Dezember haben 1995, Sonne-Mikrosysteme und Netscape JavaScript in einer Presseinformation bekannt gegeben. Im März 1996 war Netscape Navigator 2.0 aus, Unterstützung für JavaScript zeigend.

Wegen des weit verbreiteten Erfolgs von JavaScript als eine Kundenseite scripting Sprache für Webseiten hat Microsoft einen vereinbaren Dialekt der Sprache entwickelt, es JScript nennend, um Handelsmarke-Probleme zu vermeiden. JScript hat neue Datum-Methoden hinzugefügt, die non-Y2K-friendly Methoden in JavaScript zu befestigen, die auf der javanischen Datum-Klasse basiert haben. JScript wurde in Internet Explorer 3.0 eingeschlossen, im August 1996 veröffentlicht.

Netscape hat JavaScript an Ecma International für die Standardisierung geliefert, und die Arbeit an der Spezifizierung, ECMA-262, hat im November 1996 begonnen. Die Erstausgabe von ECMA-262 wurde von der Ecma Generalversammlung des Junis 1997 angenommen. Mehrere Ausgaben des Sprachstandards sind seitdem veröffentlicht worden.

ECMAScript ist der Name der scripting in ECMA-262 standardisierten Sprache. Der Name "ECMAScript" war ein Kompromiss zwischen den Organisationen, die am Standardisieren der Sprache, besonders Netscape und Microsoft beteiligt sind, dessen Streite die frühen Standardsitzungen beherrscht haben. Brendan Eich, der Schöpfer von JavaScript, hat kommentiert, dass "ECMAScript immer ein unerwünschter Handelsname war, der einer Hautkrankheit ähnlich ist."

Während sowohl JavaScript als auch JScript zum Ziel haben, mit ECMAScript vereinbar zu sein, stellen sie auch zusätzliche in den ECMA Spezifizierungen nicht beschriebene Eigenschaften zur Verfügung.

Versionen

Es gibt fünf Ausgaben von veröffentlichtem ECMA-262. Die Arbeit an einer zukünftigen Ausgabe, codenamed "Harmonie", ist im Gange.

Im Juni 2004 hat Ecma International ECMA-357 Standard veröffentlicht, eine Erweiterung auf ECMAScript, bekannt als ECMAScript für XML (E4X) definierend.

Ecma hat auch ein "Kompaktprofil" für ECMAScript — bekannt als ES-BEDIENUNGSFELD oder ECMA 327 definiert — der für quellengezwungene Geräte entworfen wird. Mehrere der dynamischen Eigenschaften von ECMAScript (wie die Funktion) werden fakultativ gemacht, so der Durchlaufzeit erlaubend, mehr Annahmen über das Verhalten von Programmen zu machen und deshalb mehr Leistungsumtausche zu machen, wenn man den Code führt. Der HD DVD-Standard war ein Platz, wo das ECMAScript Kompaktprofil zu Gunsten von vollem ECMAScript verwendet wurde, um Verarbeitung und Speicherbedürfnisse auf Geräten zu reduzieren.

Eigenschaften

Die ECMAScript Sprache schließt strukturierte, dynamische, funktionelle und Prototyp-basierte Eigenschaften, wie offiziell zusammengefasst, hier ein.

Syntax

Dialekte

ECMAScript wird in vielen Anwendungen, besonders WWW-Browser unterstützt, wo er von JavaScript, oder, im Fall von Internet Explorer, JScript durchgeführt wird. Dialekte schließen manchmal Erweiterungen auf die Sprache, oder auf die Standardbibliothek ein, und verwandte Anwendung, Schnittstellen programmierend (API) wie das Konsortium des World Wide Web (W3C) hat Document Object Model (DOM) angegeben. Das bedeutet, dass in einem Dialekt geschriebene Anwendungen mit einem anderen unvereinbar sein können, wenn sie nicht geschrieben werden, um nur eine allgemeine Teilmenge von unterstützten Eigenschaften und APIs zu verwenden.

Versionsähnlichkeit

Der folgende Tisch basiert auf dem Geschichtskompilationsforum-Posten von tedster und der JScript Versionsinformation des Microsofts webpage. Sachen auf derselben Linie sind ungefähr dieselbe Sprache.

Übereinstimmungstests

2010 hat Ecma International angefangen, einen Standardtest auf Ecma 262 ECMAScript zu entwickeln.

Test262 ist ein ECMAScript Übereinstimmungstestgefolge, das verwendet werden kann, um zu überprüfen, wie nah eine Durchführung von JavaScript der ECMAScript 5. Ausgabe-Spezifizierung folgt. Das Testgefolge enthält Tausende von individuellen Tests, von denen jeder einige spezifische Voraussetzungen der ECMAScript Spezifizierung prüft.

Die Entwicklung von Test262 ist ein Projekt des Ecma Technischen Komitees 39 (TC39). Das Probefachwerk und die individuellen Tests werden von Mitglied-Organisationen von TC39 geschaffen und Ecma für den Gebrauch in Test262 beigetragen.

Wichtige Beiträge wurden von Google (Sputnik testsuite) und Microsoft geleistet, das beide Tausende von Tests beigetragen haben.

Test262 testsuite enthält bereits mehr als 11,000 Tests und wird weiter entwickelt.

Der folgende Tisch zeigt aktuelle Übereinstimmungsergebnisse von Browser-Produkten. Niedrigere Hunderte sind besser, obwohl Hunderte nicht verglichen werden können, weil Tests nicht beschwert werden.

Zukünftige Entwicklung

Die vorgeschlagene vierte Ausgabe von ECMA-262 (ECMAScript 4 oder ES4) wäre die erste Hauptaktualisierung zu ECMAScript gewesen, seitdem die dritte Ausgabe 1999 veröffentlicht wurde. Die Spezifizierung (zusammen mit einer Bezugsdurchführung) wurde für die Vollziehung vor dem Oktober 2008 ursprünglich ins Visier genommen. Eine Übersicht der Sprache wurde von der Arbeitsgruppe am 22. Oktober 2007 veröffentlicht.

Bezüglich des Augusts 2008 ist der ECMAScript 4. Ausgabe-Vorschlag zurück in ein Projekt codenamed ECMAScript Harmonie erklettert worden.

Eigenschaften unter der Diskussion

Eigenschaften unter der Diskussion für eine zukünftige Ausgabe (ursprünglich "ECMAScript 4"; jetzt ECMAScript Harmonie) schließen Sie ein:

  • Klassen
  • Ein Modul-System
  • Fakultative Typ-Anmerkungen und das statische Schreiben, wahrscheinlich mit einem Strukturtyp-System
  • Generatoren und iterators
  • Anweisung von Destructuring
  • Algebraische Datentypen

Die Absicht dieser Eigenschaften ist teilweise, Programmierung im großen besser zu unterstützen, und zu erlauben, etwas von der Fähigkeit der Schrift zu opfern, dynamisch zu sein, um Leistung zu verbessern. Zum Beispiel, Tamarin — die virtuelle Maschine für ActionScript hat sich entwickelt, und offener sourced durch Adobe — hat gerade rechtzeitig Kompilation (JIT) Unterstützung für bestimmte Klassen von Schriften.

Üble

Programmfehler-Lagen und umgekehrt Vereinbarkeit

Zusätzlich zum Einführen neuer Eigenschaften wurden einige ES3 Programmfehler vorgeschlagen, um in der Ausgabe 4 befestigt zu werden. Diese üblen Lagen und andere und Unterstützung für die JSON-Verschlüsselung/Entzifferung, sind in den ECMAScript, 5. Ausgabe-Spezifizierung gefaltet worden.

Geschichte

Arbeit hat auf der Ausgabe 4 nach dem ES-BEDIENUNGSFELD angefangen (Kompaktprofil) Spezifizierung wurde vollendet, und hat seit etwa 18 Monaten weitergegangen, wo langsame Fortschritte gemacht wurden, die Theorie von JavaScript von Netscape 2 Spezifizierung mit der Durchführungserfahrung des JScript des Microsofts.NET erwägend. Nach einer Zeit hat der Fokus zum ECMAScript für XML (E4X) Standard ausgewechselt. Die Aktualisierung ist nicht ohne Meinungsverschiedenheit gewesen. Gegen Ende 2007, eine Debatte zwischen Eich, jetzt sind der CTO des Mozilla Fundaments, und Chris Wilson, der Plattform-Architekt des Microsofts für Internet Explorer, öffentlich auf mehreren blogs geworden. Wilson hat gewarnt, dass, weil die vorgeschlagenen Änderungen zu ECMAScript es umgekehrt unvereinbar in etwas Hinsicht zu früheren Versionen der Sprache gemacht haben, sich die Aktualisierung auf das "Brechen des Webs," und dessen belaufen hat, wurden Miteigentümer, die den Änderungen entgegengesetzt haben, vor der Ansicht "verborgen". Eich hat durch das Feststellen geantwortet, dass Wilson geschienen ist, Lügen in blogs "zu wiederholen", und bestritten hat, dass es Versuch gab, Meinungsverschiedenheit und schwierige Kritiker zu unterdrücken, um spezifische Beispiele der Inkompatibilität anzuführen. Er hat auch darauf hingewiesen, dass sich Microsoft Silverlight und Adobe AIR auf C# und ActionScript 3 beziehungsweise verlassen, von denen beide größer und komplizierter sind als ECMAScript Ausgabe 3.

ECMAScript, 5. Ausgabe

Yahoo, Microsoft, Google und andere 4. Ausgabe-Andersdenkende haben ihren eigenen Unterausschuss gebildet, um eine weniger ehrgeizige Aktualisierung von ECMAScript 3, versuchsweise genannter ECMAScript 3.1 zu entwerfen. Diese Ausgabe würde sich auf Sicherheit und Bibliotheksaktualisierungen mit einer großen Betonung auf der Vereinbarkeit konzentrieren. Nach dem oben erwähnten öffentlichen Sparring der ECMAScript 3.1 und ECMAScript haben sich 4 Mannschaften über einen Kompromiss geeinigt: Die zwei Ausgaben würden auf in der Parallele mit der Koordination zwischen den Mannschaften gearbeitet, um sicherzustellen, dass ECMAScript 3.1 eine strenge Teilmenge von ECMAScript 4 sowohl in der Semantik als auch in Syntax bleibt.

Jedoch sind die sich unterscheidenden Philosophien in jeder Mannschaft auf wiederholte Brechungen der Teilmenge-Regel hinausgelaufen, und es ist zweifelhaft geblieben, dass der ECMAScript 4 Andersdenkende jemals unterstützen oder ECMAScript 4 in der Zukunft durchführen würde. Nach mehr als einem Jahr seit der Unstimmigkeit über die Zukunft von ECMAScript innerhalb des Ecma Technischen Komitees 39 haben die zwei Mannschaften einen neuen Kompromiss im Juli 2008 erreicht: Brendan Eich hat bekannt gegeben, dass Ecma TC39 Arbeit am ECMAScript 3.1 (später umbenannt zu ECMAScript, 5. Ausgabe) Projekt mit der vollen Kollaboration aller Parteien einstellen würde, und Verkäufer mindestens zwei zwischendurchführbare Durchführungen bis zum Anfang 2009 ins Visier nehmen würden. Im April 2009 Ecma hat TC39 den "End"-Entwurf der 5. Ausgabe veröffentlicht und hat bekannt gegeben, dass, wie man erwartete, die Prüfung von zwischendurchführbaren Durchführungen durch die Mitte Juli vollendet wurde. Am 3. Dezember 2009 wurde ECMA-262 5. Ausgabe veröffentlicht.

ECMAScript Harmonie

In der Ansage im Juli 2008 hat Eich auch festgestellt, dass der ECMASCRIPT 4 Vorschlag durch ein neues Projekt, codegenannt ECMAScript Harmony ersetzt würde. ECMAScript Harmony nennt die abgestimmte Designschussbahn von post-ES5 Ausgaben. Es wird syntaktische Erweiterungen einschließen, aber die Änderungen werden bescheidener sein als ECMASCRIPT 4 sowohl in der semantischen als auch in syntaktischen Neuerung. Pakete, namespaces, und früh von ECMASCRIPT 4 bindend, werden für geplante Ausgaben nicht mehr eingeschlossen. Außerdem werden andere Absichten und Ideen von ECMASCRIPT 4 umformuliert, um Einigkeit im Komitee zu behalten; diese schließen einen Begriff von Klassen ein, die auf ECMASCRIPT, 5. Ausgabe gestützt sind (eine Aktualisierung ECMASCRIPT, 3. Ausgabe seiend)., es gibt kein öffentlich bekannt gegebenes Ausgabe-Datum für die folgende Ausgabe innerhalb der Schussbahn von ECMAScript Harmony. Abhängig von Ecma kann diese folgende Ausgabe damit enden, ECMASCRIPT, 6. Ausgabe genannt zu werden.

Siehe auch

Außenverbindungen

ISO Standard

Ecma Standards


Das rechtsseitige Holland / Micropsia
Impressum & Datenschutz