Einführung in die neuen Funktionen von ECMAscript

Einführung in die neuen Funktionen von ECMAscript

1. Standardwerte für Funktionsparameter

1.1 Festlegen von Standardwerten für Funktionsparameter

In ECMAScript 2015 ist es erlaubt, Standardwerte für Funktionsparameter hinzuzufügen, indem die Standardwerte direkt nach den Parametern geschrieben werden.

Der Beispielcode lautet wie folgt:

//Funktionsparameter geben Standardwerte an function fun(a = 1, b = 2) {
  konsole.log(a + b);
}
spaß() // 3


Es ist zu beachten, dass Parametervariablen standardmäßig deklariert werden und daher nicht erneut mit let oder const deklariert werden können, da sonst eine Ausnahme ausgelöst wird.

Außerdem stehen die Standardparameter am Ende der Parameterliste, da dies sonst zu Mehrdeutigkeiten führt und die ausgelassenen Parameter nicht weggelassen werden können.

Das folgende Codebeispiel:

// Die Standardparameterposition sollte am Ende sein function fun(a = 1, b) {
  konsole.log(a, b);
}
// Rufe die Funktion auf und übergebe einen Parameter fun(20); // 20 undefiniert


1.2 Verwendung mit entkoppelter Zuordnung

Standardparameterwerte können in Verbindung mit Standardwerten für Destrukturierungszuweisungen verwendet werden. Es gibt zwei Möglichkeiten, einen Standardwert dafür festzulegen. Der Beispielcode lautet wie folgt:

Funktion Spaß([a, b = 5] = [3]) {
  konsole.log(a, b);
}
spaß() // 3 5


1.3 Umfang der Funktionsparameter

Sobald die Standardwerte der Parameter festgelegt sind, bilden die Parameter einen separaten Bereich, wenn die Funktion deklariert und initialisiert wird. Wenn die Initialisierung abgeschlossen ist, verschwindet der Bereich. Dieses Syntaxverhalten tritt nicht auf, wenn der Standardwert des Parameters nicht festgelegt ist.

Der Beispielcode lautet wie folgt:

sei x = 5

Funktion Spaß(y = x) {
  x = 10
  konsole.log(y);
}
spaß() // 5


2.Rest-Parameter

ECMAScript 2015 führte rest (in der Form … Variablenname) ein, um redundante Parameter einer Funktion zu erhalten, sodass das Argumentobjekt nicht mehr verwendet werden muss. Die mit dem Restparameter verwendete Variable ist ein Array, das die zusätzlichen Parameter enthält.

Der Beispielcode lautet wie folgt:

// Verwende das Argumentobjekt, um den Maximalwert der übergebenen Parameter zu finden Funktion max1() {
  gibt Math.max.apply(null, Argumente) zurück
}

console.log(max1(1, 5, 6, 33, 65, 35, 15)); // 65

// Restparameter verwenden Funktion max2(...arg) {
  gibt Math.max(...arg) zurück
}
console.log(max2(1, 5, 6, 33, 65, 35, 15)); // 65

3. Pfeilfunktion

3.1 Was ist eine Pfeilfunktion

ECMAScript 2015 hat Pfeilfunktionen (auch als Fat Arrow-Funktionen bekannt) hinzugefügt, die eine kürzere Syntax als Funktionsausdrücke haben und diese lexikalisch binden. Pfeilfunktionen sind in den meisten Fällen anonym.

Die grammatische Struktur einer Pfeilfunktion ist wie folgt:

// Grundlegende Syntaxstruktur (Parameter 1, Parameter 2, ..., Parameter N) => {Funktionsdeklaration}
(param1, parameter2, ..., parameterN) => Ausdruck (einzeln)
// Äquivalent zu: (Parameter 1, Parameter 2, ..., Parameter N) => {Return-Ausdruck}

// Wenn nur ein Parameter vorhanden ist, ist der Index optional (Parameter) => {Funktionsdeklaration}
// oder Parameter => {Funktionsdeklaration}

// Wenn kein Parameter vorhanden ist, sollten Sie ein Klammernpaar schreiben () => {Funktionsdeklaration}

// Kann mit Restparametern und Standardparametern verwendet werden (Parameter 1, Parameter 2, ...rest) => {Funktionsdeklaration}
(Param1, Parameter2, ..., ParameterN = StandardwertN) => {Funktionsdeklaration}

Für Pfeilfunktionen können auch Funktionsnamen definiert werden. Der Syntaxaufbau ist wie folgt:

let funName = (Parameter 1, Parameter 2, ..., Parameter N) => {Funktionsdeklaration}


Der Beispielcode lautet wie folgt:

sei Summe = (a, b) => {
  gib a + b zurück
}
console.log(Summe(10, 20)); //30


3.2 Hinweise zu den Pfeilfunktionen

Bei der Verwendung von Pfeilfunktionen sind einige Punkte zu beachten:

  • this Objekt im Funktionskörper ist das Objekt, in dem es definiert ist, nicht das Objekt, in dem es verwendet wird.

Der Beispielcode lautet wie folgt:

// ES5-Notation let fun1 = function () {
  Konsole.log(diese.id);
}
// ES6 Pfeilfunktion schreibt let fun2 = () => {
  Konsole.log(diese.id);
}

lass obj1 = {
  ID: 666,
  Spaß: Spaß1
}
let obj2 = {
  ID: 666,
  Spaß: Spaß2
}
obj1.fun() // 666
obj2.fun() // undefiniert

Aus dem Code können wir erkennen, dass this einer normalen Funktion beim Aufruf festgelegt wird, während this unserer Pfeilfunktion bei der Definition festgelegt wird.

  • Es kann nicht als Konstruktor verwendet werden, d. h. der new Befehl kann nicht verwendet werden, da sonst ein Fehler auftritt.
  • Das arguments kann nicht verwendet werden, da es im Funktionskörper nicht vorhanden ist. Wenn Sie es verwenden möchten, können Sie stattdessen den Restparameter verwenden.

4. Funktions-Tail-Aufruf

Tail Call ist ein wichtiges Konzept in der funktionalen Programmierung. Es ist sehr einfach und kann in einem Satz erklärt werden. Es bedeutet, dass der letzte Schritt einer Funktion darin besteht, eine andere Funktion aufzurufen.

Der Beispielcode lautet wie folgt:

sei x = (x) => {
  returniere 2 * x
}

sei y = Funktion (y) {
  Rückgabewert x(y)
}

console.log(y(20)); // 40

Dies ist das Ende dieses Artikels über die neuen Funktionen von ECMAscript: Funktionserweiterung. Weitere Informationen zur Erweiterung der ECMAscript-Funktionen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • ECMAScript6 fügt neue Wertevergleichsfunktion Object.is hinzu
  • Restparameter der ECMAScript6-Funktion (Restparameter)
  • Standardparameter der ECMAScript6-Funktion
  • Funktionstyp in ECMAScript
  • Eine detaillierte Einführung in die neue Funktion von ECMAScript6, Arrow Function

<<:  Das obere feste Div kann auf einen halbtransparenten Effekt eingestellt werden

>>:  Schritte für IDEA zur Integration von Docker zur Realisierung einer Remote-Bereitstellung

Artikel empfehlen

Beispielcode mit Vue-Router in HTML

Einführung in Vue und Vue-Router <script src=&...

So implementieren Sie Code und Schritte für den digitalen Paging-Effekt in CSS

Eine beträchtliche Anzahl von Websites verwendet d...

MySQL-Serie 15: Allgemeine MySQL-Konfiguration und Leistungsstresstest

1. Allgemeine MySQL-Konfiguration Alle folgenden ...

Vue implementiert rekursiv benutzerdefinierte Baumkomponenten

In diesem Artikel wird der spezifische Code der r...

Hinweise zum MySQL-Datenbank-Sicherungsprozess

Heute habe ich mir einige Dinge im Zusammenhang m...

So installieren Sie Docker auf CentOS

Hier stellen wir nur die relativ einfache Install...

Detaillierte Erklärung des Vue3-Sandbox-Mechanismus

Inhaltsverzeichnis Vorwort Browser kompilierte Ve...

Wie MySQL implizite Standardwerte verarbeitet

Einige Studenten sagten, dass sie auf das Problem...

Methoden und Techniken zur Gestaltung einer interessanten Website (Bild)

Haben Sie schon einmal eine Situation erlebt, in d...

Eine kurze Diskussion zum Problem von Daten mit Nullwerten in der MySQL-Datenbank

Standardmäßig akzeptiert MySQL das Einfügen von 0...

Schritte zum Bereitstellen eines Docker-Projekts in IDEA

Mittlerweile werden die meisten Projekte auf Dock...

Detaillierte Erklärung der Datentypen in den JavaScript-Grundlagen

Inhaltsverzeichnis 1. Datentyp 1.1 Warum brauchen...