Heim >Web-Frontend >Front-End-Fragen und Antworten >Was ist der Unterschied zwischen Ecmascript5 und 6?

Was ist der Unterschied zwischen Ecmascript5 und 6?

WBOY
WBOYOriginal
2022-07-01 16:33:591769Durchsuche

Der Unterschied zwischen ecmascript5 und 6: 1. Der Bereich auf Blockebene wurde in ecmascript6 neu hinzugefügt, jedoch nicht in ecmascript5. 2. Standardfunktionsparameter können in ecmascript6 festgelegt werden, jedoch nicht in ecmascript5 ecmascript6 und es gibt keine Pfeilfunktionen in ecmascript5.

Was ist der Unterschied zwischen Ecmascript5 und 6?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript 6.0 und ECMAScript 5.0-Version, Dell G3-Computer.

Was ist der Unterschied zwischen ecmascript5 und 6?

ECMAScripts5 oder ES5 ist die fünfte Revision von ECMAScripts, die 2009 standardisiert wurde. ECMAScripts6 oder ES6 ist die sechste Revision von ECMAScripts, die 2025 fertiggestellt wurde. Das ist sie Auch ES2015ES6 genannt. Es ist prägnanter als ES5 und verbessert die Entwicklungseffizienz:

1) let deklariert Variablen und const deklariert Konstanten, die beide einen Gültigkeitsbereich auf Blockebene haben Gültigkeitsbereich auf Blockebene in ES5, und var verfügt über eine Variablenheraufstufung. In let müssen die verwendeten Variablen deklariert werden

2) Pfeilfunktion Die Funktionsdefinition in ES6 verwendet nicht mehr das Schlüsselwort function(), sondern ()=> ; Zu definieren

3) Vorlagenzeichenfolge Vorlagenzeichenfolge ist eine erweiterte Version von Zeichenfolgen, markiert mit Backtick (`), die als gewöhnliche Zeichenfolge oder zum Definieren mehrzeiliger Zeichenfolgen verwendet werden kann

4) Dekonstruierungszuweisung ES6 ermöglicht das Extrahieren Werte aus Arrays und Objekten nach bestimmten Mustern und Zuweisen von Werten zu Variablen

5)... Der Spread-Operator kann die Werte im Array erweitern oder mehrere Werte zu einem zusammenfassen variabel

Die Details sind wie folgt:

Neue Pfeilfunktion

vereinfacht das Schreiben. Pfeilfunktionen eignen sich, wenn der Funktionskörper nur aus einer Zeile besteht. Wenn mehrere Zeilen vorhanden sind, können zur Verbesserung der Lesbarkeit normale Funktionen verwendet werden. Weniger Codierung und klarere Struktur

Das ist klar ausgedrückt. Das This von traditionellem JS wird zur Laufzeit und nicht bei der Definition bestimmt, während das This von Pfeilfunktionen bei der Definition bestimmt wird und nicht geändert werden kann, noch kann es durch Methoden wie Call, Apply und Bind geändert werden. Machen Sie deutlich, auf wen dies zur Laufzeit zeigt, und es besteht keine Notwendigkeit, diesen Punkt zur Laufzeit zu beurteilen. Hinweis: Die Pfeilfunktion hat kein eigenes Dies, das auf das Dies des verweist vorherige Funktion, die keine Pfeilfunktion ist. Aufgrund des Mechanismus von js weist es auf den Umfang einer Funktion hin, die keine Pfeilfunktion ist.

Der Unterschied zwischen Pfeilfunktionen und gewöhnlichen Funktionen

    Die Deklaration gewöhnlicher Funktionen ist beim Heben von Variablen am höchsten.
  • Die Pfeilfunktion verfügt nicht über dieses Objekt innerhalb der Funktion Der Körper ist dort definiert, wo er verwendet wird. Die Pfeilfunktion verfügt nicht über das Argumentobjekt. Wenn Sie es verwenden möchten, können Sie das verwenden Rest-Parameter
  • Die Pfeilfunktion kann nicht als Konstruktor verwendet werden und kann nicht neu sein. Es gibt keine Eigenschaft. Die Call- und Apply-Methoden haben nur Parameter und keinen Gültigkeitsbereich. Der Yield-Befehl kann nicht verwendet werden. Daher können Pfeilfunktionen nicht als Generatorfunktionen verwendet werden
  • Bereich auf Blockebene

  • Let-Befehl zum Deklarieren von Variablen, die Verwendung ist ähnlich wie bei var, aber let fügt JavaScript dort einen neuen Bereich auf Blockebene hinzu ist in ES5 kein Gültigkeitsbereich auf Blockebene, und var hat das Konzept der Variablenheraufstufung, aber in let müssen die verwendeten Variablen eine Deklaration vornehmen const deklariert eine Konstante
  • Strukturelle Zuweisung von Variablen in ES6, zum Beispiel: var [a, b,c] = [0,1,2];

  • Klassenvererbung

  • Wird in ES6 wie ES5 nicht mehr verwendet. Die Prototypenkette implementiert Vererbung, führt jedoch das Konzept der Klasse ein, das der Syntax von Objekten etwas ähnelt -orientierte Programmierung in Java, aber die beiden sind unterschiedlich.

Erweiterte Kenntnisse:

Der Unterschied zwischen var, let und const

Var kann wiederholt deklariert werden, let kann jedoch nicht wiederholt deklariert werden

var ist nicht auf Blockebene beschränkt, während let auf Blockebene beschränkt ist var wird dem Fenster zugeordnet (ein Attribut wird angehängt), aber let wird nicht dem Fenster zugeordnet

var kann auf Variablen über der Deklaration zugreifen, aber let hat eine vorübergehende tote Zone, und beim Zugriff auf Variablen darüber wird ein Fehler gemeldet Die Deklaration

Ein Wert muss nach der const-Deklaration zugewiesen werden, andernfalls wird ein Fehler gemeldet. const definiert eine unveränderliche Größe. Wenn sie geändert wird, wird ein Fehler gemeldet.

const wird nicht gemeldet Dem Fenster zugeordnet. Es unterstützt den Gültigkeitsbereich auf Blockebene und kann auf Variablen über der Deklaration zugreifen. Es werden Fehler gemeldet

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Ecmascript5 und 6?. 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