1. Verwendung von Pfeilfunktionen ES6 fügt eine neue Methode zum Definieren von Funktionsausdrücken mithilfe von Pfeilen Der zweite Teil dieses Artikels stellt die funktionalen Unterschiede zwischen Pfeilfunktionen und normalen Funktionen vor. 1. Von der Normalfunktion zur Pfeilfunktion Wie unten gezeigt, können Sie zum Definieren einer Funktion Funktion getSum(a, b) { gib a + b zurück; } Wenn Sie zum Definieren dieser Funktion eine Pfeilfunktion verwenden, können Sie sie wie folgt schreiben, wobei Sie das const getSum = (a, b) => { gib a + b zurück; }; 2. Geschweifte Klammern weglassen und zurückgeben Wenn Sie eine Pfeilfunktion definieren und der Funktionskörper nur eine Unten sehen Sie die vollständige Definition der Pfeilfunktion. const getSum = (a, b) => { gib a + b zurück; }; Diese Pfeilfunktion hat nur eine Konstanten getSumme = (a, b) => a + b; 3. Klammern weglassenWenn die definierte Pfeilfunktion nur einen Parameter hat, können die Klammern weggelassen werden. Wie unten gezeigt, hat die definierte Pfeilfunktion nur einen Parameter und wird vollständig geschrieben. const-Funktion = (a) => { gib a + 2 zurück; }; Die Klammern um die Parameter werden weggelassen und der folgende Code entspricht dem obigen Code. Konstante Funktion = a => a + 2; Hinweis : Wenn die Funktion keine Parameter hat oder mehrere Parameter hat, müssen Klammern verwendet werden. 2. Der Unterschied zwischen Pfeilfunktionen und normalen FunktionenIn den meisten Fällen können Pfeilfunktionen überall dort verwendet werden, wo normale Funktionen verwendet werden können, da Pfeilfunktionen prägnanter sind. In manchen Fällen unterscheiden sich Pfeilfunktionen jedoch stark von normalen Funktionen. 1. Das this der Pfeilfunktion ist das this des übergeordneten Bereichs Der folgende Code definiert ein Objekt const obj = { Name: 'Jack', getThis() { konsole.log(dies); }, }; obj.getThis(); // {name: 'Jack', getThis: ƒ} Ähnlich wird ein Objekt const obj = { Name: 'Jack', getThis: () => { konsole.log(dies); }, }; obj.getThis(); // Fenster 2. call, apply und bind können das this von Pfeilfunktionen nicht ändern Im folgenden Code druckt die normale Funktion const obj = { Name: 'Jack', }; Funktion getName() { konsole.log(dieser.name); } getName.call(obj); // Buchse Wenn die Funktion in eine Pfeilfunktion geändert wird, funktioniert const obj = { Name: 'Jack', }; const getName = () => { konsole.log(dieser.name); }; getName.call(obj); // undefiniert 3. Kann nicht als Konstruktor verwendet werdenPfeilfunktionen können nicht als Konstruktoren verwendet werden. Wenn Sie eine Pfeilfunktion als Konstruktor verwenden, wird ein Fehler gemeldet, wie im folgenden Code gezeigt. const Person = () => { dieser.name = "Jack"; }; const usr = new Person(); // Person ist kein Konstruktor 4. Keine Argumente Innerhalb einer normalen Funktion können Sie Funktion func() { konsole.log(Argumente); } func(1, 2, 3); // [Argumente] { '0': 1, '1': 2, '2': 3 } Pfeilfunktionen können das Wenn Sie im Browser const func = () => { // Browserumgebung console.log(Argumente); // Argumente sind nicht definiert }; Funktion(1, 2, 3); Die Pfeilfunktion kann die Eingabeparameter jedoch in der Form von const func = (...args) => { konsole.log(args); // [ 1, 2, 3 ] }; Funktion(1, 2, 3); 5. Pfeilfunktionen unterstützen new.target nicht Innerhalb des Konstruktors einer normalen Funktionsdefinition wird Funktion Person() { dieser.name = "Jack"; konsole.log(neues.ziel); } // Zeigt auf den Konstruktor new Person(); // [Funktion: Person] In Pfeilfunktionen wird const Person = () => { dieser.name = "Jack"; konsole.log(neues.ziel); } // Browserumgebung new Person(); // new.target-Ausdruck ist hier nicht zulässig
Damit ist dieser Artikel über die Eigenschaften von JavaScript-Pfeilfunktionen und die Unterschiede zu normalen Funktionen abgeschlossen. Weitere Informationen zu JS-Pfeilfunktionen und normalen Funktionen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Tipps zur Verwendung kleiner HTML-Tags
>>: So teilen Sie Daten in MySQL-Tabellen und -Datenbanken auf
Inhaltsverzeichnis 1. Einleitung 1.1 Grundsatz 1....
Inhaltsverzeichnis 1. Was ist ein Index? 2. Warum...
1. Beim Entwerfen einer Webseite ist das Bestimmen...
Inhaltsverzeichnis 1. Einleitung 2. Sichern Sie d...
Inhaltsverzeichnis 1. Der Unterschied zwischen me...
Vorwort: In MySQL unterstützt das System viele Ze...
Projektszenario: 1. Einschränkungen beim Hochlade...
Dies führte auch dazu, dass PNG-Dateien nicht hoch...
Um folgende Ziele zu erreichen: Die MySQL-Datenba...
GUN-Bildschirm: Offizielle Website: http://www.gn...
Inhaltsverzeichnis Backend: Rails API-Teil Front-...
Vorwort Eine der Funktionen eines Interceptors be...
Letzte Woche gab mir der Lehrer eine kleine Hausa...
Docker Compose kann die Orchestrierung von Docker...
Vorwort Das Wesen eines Deadlocks ist Ressourcenw...