Heim  >  Artikel  >  Web-Frontend  >  Was ist ECMAScript6?

Was ist ECMAScript6?

零下一度
零下一度Original
2017-06-23 09:33:051750Durchsuche

ECMAScript 6.0 (im Folgenden als ES6 bezeichnet) ist der Standard der nächsten Generation der JavaScript-Sprache und wurde im Juni 2015 offiziell veröffentlicht. Ziel ist es, die Verwendung der JavaScript-Sprache zum Schreiben komplexer Großanwendungen zu ermöglichen und sie zu einer Entwicklungssprache auf Unternehmensebene zu machen.


1. Die Beziehung zwischen ECMAScript und JavaScript


Eine häufige Frage ist: ECMAScript Welche Beziehung besteht zu JavaScript?

Um dieses Problem zu klären, müssen wir den Verlauf überprüfen. Im November 1996 beschloss Netscape, der Erfinder von JavaScript, JavaScript bei der Internationalen Standardisierungsorganisation ECMA einzureichen, in der Hoffnung, dass diese Sprache ein internationaler Standard werden könnte. Im folgenden Jahr veröffentlichte ECMA die erste Version des Standarddokuments Nr. 262 (ECMA-262), das den Standard für die Browser-Skriptsprache festlegte und diese Sprache ECMAScript nannte. Diese Version ist Version 1.0.

Dieser Standard wurde von Anfang an für die JavaScript-Sprache entwickelt, wird aber aus zwei Gründen nicht JavaScript genannt. Einer davon ist eine Marke von Sun. Gemäß der Lizenzvereinbarung darf nur Netscape den Namen JavaScript rechtmäßig verwenden, und JavaScript selbst wurde von Netscape als Marke registriert. Zweitens möchte ich zeigen, dass der Entwickler dieser Sprache ECMA und nicht Netscape ist, was dazu beitragen wird, die Offenheit und Neutralität dieser Sprache sicherzustellen.

Daher besteht die Beziehung zwischen ECMAScript und JavaScript darin, dass Ersteres eine Spezifikation des Letzteren und Letzteres eine Implementierung des Ersteren ist (andere ECMAScript-Dialekte umfassen Jscript und ActionScript). In alltäglichen Situationen sind diese beiden Wörter austauschbar.


2. Die Beziehung zwischen ES6 und ECMAScript 2015


Der Begriff ECMAScript 2015 (kurz ES2015) wird auch oft gesehen. Wie hängt es mit ES6 zusammen?

Im Jahr 2011, nach der Veröffentlichung von ECMAScript Version 5.1, begann die Entwicklung von Version 6.0. Daher bezieht sich die ursprüngliche Bedeutung des Wortes ES6 auf die nächste Version der JavaScript-Sprache.

Da diese Version jedoch zu viele grammatikalische Funktionen einführt und während des Entwicklungsprozesses viele Organisationen und Einzelpersonen weiterhin neue Funktionen einreichen. Es wurde schnell klar, dass es nicht möglich sein würde, alle eingeführten Funktionen in einer Version zu integrieren. Der herkömmliche Ansatz besteht darin, zuerst Version 6.0 zu veröffentlichen, dann nach einer Weile Version 6.1, dann Version 6.2, Version 6.3 und so weiter.

Dies wollen die Standardsetzer jedoch nicht. Sie wollen Standardaktualisierungen zu einem regelmäßigen Prozess machen: Jeder kann jederzeit Vorschläge für eine neue Syntax beim Standardkomitee einreichen, das sich dann monatlich trifft, um zu bewerten, ob die Vorschläge akzeptabel sind und welche Verbesserungen erforderlich sind. Wenn nach vielen Besprechungen ein Vorschlag ausgereift genug ist, kann er offiziell in den Standard aufgenommen werden. Dies bedeutet, dass Standardversions-Upgrades zu einem fortlaufenden Prozess mit monatlichen Änderungen werden.

Das Normenkomitee entschied schließlich, dass die Norm jedes Jahr im Juni als offizielle Version dieses Jahres offiziell veröffentlicht werden soll. In der Folgezeit werden auf Basis dieser Version Änderungen vorgenommen. Bis Juni des nächsten Jahres wird der Entwurf selbstverständlich zur Neujahrsversion. Auf diese Weise ist die vorherige Versionsnummer nicht erforderlich, sondern nur der Jahresstempel.

Die erste Version von ES6 wurde im Juni 2015 veröffentlicht. Der offizielle Name ist „ECMAScript 2015 Standard“ (bezeichnet als ES2015). Im Juni 2016 wurde wie geplant der leicht überarbeitete „ECMAScript 2016 Standard“ (kurz ES2016) veröffentlicht. Diese Version kann als ES6.1-Version angesehen werden, da der Unterschied zwischen den beiden sehr gering ist (nur die includes-Methode). der Array-Instanz wird ein Potenzierungsoperator hinzugefügt), grundsätzlich der gleiche Standard. Laut Plan soll der ES2017-Standard im Juni 2017 veröffentlicht werden.

Daher ist ES6 sowohl ein historischer als auch ein allgemeiner Begriff. Es bezeichnet den JavaScript-Standard der nächsten Generation nach Version 5.1, der ES2015, ES2016, ES2017 usw. abdeckt, und ES2015 ist der offizielle Name, der sich speziell darauf bezieht to Die offizielle Version des in diesem Jahr veröffentlichten Sprachstandards. Wenn in diesem Buch ES6 erwähnt wird, bezieht es sich normalerweise auf den ES2015-Standard, manchmal bezieht es sich aber auch auf die „JavaScript-Sprache der nächsten Generation“ im Allgemeinen.


3. Genehmigungsprozess für Grammatikvorschläge


Jeder kann einen Vorschlag beim Standards Committee (auch bekannt als) einreichen des TC39-Komitees) Vorschlag zur Überarbeitung der Sprachstandards.

Eine neue Syntax muss fünf Phasen durchlaufen, vom Vorschlag bis zur formalen Norm. Änderungen in jeder Phase bedürfen der Genehmigung durch das TC39-Komitee.

  • Stufe 0 – Strawman (Präsentationsphase)

  • Stufe 1 – Vorschlag (Kommentareinholungsphase)

  • Phase 2 – Entwurf (Entwurfsphase)

  • Phase 3 – Kandidat (Kandidatenphase)

  • Phase 4 – Fertige Phase)

Solange ein Vorschlag in Phase 2 eintreten kann, wird er mit ziemlicher Sicherheit in zukünftige formale Standards aufgenommen. Alle aktuellen ECMAScript-Vorschläge können auf der offiziellen Website von TC39 Github.com/tc39/ecma262 eingesehen werden.

Eines der Ziele beim Schreiben dieses Buches ist es, den neuesten Fortschritt der ECMAScript-Sprache zu verfolgen und nach Version 5.1 eine völlig neue Syntax einzuführen. Es werden neue Syntaxen eingeführt, die eindeutig oder vielversprechend für die Aufnahme in den Standard vorgesehen sind.


4. Geschichte von ECMAScript


ES6 von den Anfängen bis zum Ende Es dauerte 15 Jahre, bis es veröffentlicht wurde.

Wie bereits erwähnt, wurde ECMAScript 1.0 im Jahr 1997 veröffentlicht. In den nächsten zwei Jahren wurden kontinuierlich ECMAScript 2.0 (Juni 1998) und ECMAScript 3.0 (Dezember 1999) veröffentlicht. Version 3.0 war ein großer Erfolg in der Branche und wurde zu einem gemeinsamen Standard. Sie etablierte die grundlegende Syntax der JavaScript-Sprache und wird von nachfolgenden Versionen vollständig übernommen. Bis heute lernen Anfänger, wenn sie mit dem Erlernen von JavaScript beginnen, tatsächlich Version 3.0 der Syntax.

Im Jahr 2000 wurde mit der Entwicklung von ECMAScript 4.0 begonnen. Diese Version scheiterte letztendlich, aber der Großteil ihres Inhalts wurde von ES6 übernommen. Daher ist der Ausgangspunkt für die Formulierung von ES6 tatsächlich das Jahr 2000.

Warum hat ES4 nicht bestanden? Da diese Version zu radikal war und ein vollständiges Upgrade auf ES3 darstellte, waren einige Mitglieder des Standardkomitees nicht bereit, sie zu akzeptieren. Das Technical Committee 39 (TC39) der ECMA ist für die Formulierung des ECMAScript-Standards verantwortlich. Zu seinen Mitgliedern zählen große Unternehmen wie Microsoft, Mozilla und Google.

Im Oktober 2007 wurde die Entwurfsversion 4.0 von ECMAScript veröffentlicht, und die offizielle Version sollte ursprünglich im August des folgenden Jahres veröffentlicht werden. Es bestehen jedoch gravierende Meinungsverschiedenheiten zwischen den Parteien darüber, ob dieser Standard übernommen werden soll. Große Unternehmen, angeführt von Yahoo, Microsoft und Google, lehnen größere Upgrades von JavaScript ab und befürworten kleinere Änderungen. Mozilla, angeführt vom JavaScript-Erfinder Brendan Eich, besteht auf dem aktuellen Entwurf.

Im Juli 2008 beschloss ECMA, die Entwicklung von ECMAScript 4.0 auszusetzen und einige davon zu entfernen, da es zu viele Unterschiede zwischen den Parteien gab und die Debatte darüber, welche Funktionen in die nächste Version aufgenommen werden sollten, zu heftig war Funktionen, die Verbesserungen bestehender Funktionen beinhalten, wurden als ECMAScript 3.1 veröffentlicht, während andere radikale Ideen erweitert und in spätere Versionen eingefügt wurden. Aufgrund der Atmosphäre der Konferenz lautete der Projektcodename dieser Version. Kurz nach dem Treffen wurde ECMAScript 3.1 in ECMAScript 5 umbenannt.

Im Dezember 2009 wurde ECMAScript Version 5.0 offiziell veröffentlicht. Das Harmony-Projekt wurde in zwei Teile geteilt, die den Namen JavaScript.next erhielten und später weiterentwickelt wurden. Einige weniger ausgereifte Ideen wurden als JavaScript.next.next bezeichnet und werden in Zukunft weiterentwickelt . Erwägen Sie einen erneuten Start. Die Gesamtüberlegung des TC39-Komitees ist, dass ES5 grundsätzlich mit ES3 kompatibel bleibt und größere Syntaxkorrekturen und neue Funktionen durch JavaScript.next ergänzt werden. Damals bezog sich JavaScript.next auf ES6 und nach der Veröffentlichung der sechsten Version auf ES7. Nach Einschätzung von TC39 wird ES5 Mitte 2013 zum Mainstream-Standard für die JavaScript-Entwicklung werden und diese Position für die nächsten fünf Jahre beibehalten.

Im Juni 2011 wurde ECMAscript Version 5.1 veröffentlicht und wurde zu einem internationalen ISO-Standard (ISO/IEC 16262:2011).

Im März 2013 wurde der ECMAScript 6-Entwurf eingefroren und es werden keine neuen Funktionen hinzugefügt. Es ist geplant, neue Funktionen in ECMAScript 7 zu integrieren.

Im Dezember 2013 wurde der ECMAScript 6-Entwurf veröffentlicht. Anschließend folgt eine 12-monatige Diskussionsphase, in der das Feedback aller Beteiligten eingeholt wird.

Im Juni 2015 wurde ECMAScript 6 offiziell verabschiedet und zum internationalen Standard. Seit dem Jahr 2000 sind 15 Jahre vergangen.


6.Babel-Transcoder


Babel ist ein weit verbreiteter ES6-Transcoder. Der Codierer kann Konvertieren Sie ES6-Code in ES5-Code, damit er in der vorhandenen Umgebung ausgeführt werden kann. Dies bedeutet, dass Sie Programme in ES6 schreiben können, ohne sich Gedanken darüber machen zu müssen, ob Ihre vorhandene Umgebung dies unterstützt. Das Folgende ist ein Beispiel

1 // 转码前2 input.map(item => item + 1);3 4 // 转码后5 input.map(function (item) {6   return item + 1;7 });

Der obige Originalcode verwendet Pfeilfunktionen, die in einer JavaScript-Umgebung ausgeführt werden können, die Pfeile nicht unterstützt Funktionen.

Das obige ist der detaillierte Inhalt vonWas ist ECMAScript6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn